Barry's news Barry Kauler personal news Part 2, LibreOffice compiled in OE Linux I am documenting how I compiled LibreOffice in OpenEmbedded. Part 1 is the previous blog post: <br /><a href=></a> <br /> <br />One thing about that previous post. I changed the number of parallel processes to one. That is because I have an overheating problem with my laptop, but you might want leave those out, and it will default to using all CPU cores. <br /> <br /><b>Setup OE environment</b> <br />As explained in the previous post, folder "oe-project" has been created. There needs to be a bit of preliminary work before the actual build can take place... <br /><pre><code># cd oe-project <br /># source ./oe-init-build-env buildQ <br /> <br />...working dir is now in buildQ <br /> <br />buildQ/conf/bblayers.conf, add the layers that we want: <br />BBLAYERS ?= " \ <br /> /mnt/sda1/projects/oe/oe-project/meta \ <br /> /mnt/sda1/projects/oe/oe-project/meta-oe \ <br /> /mnt/sda1/projects/oe/oe-project/meta-python \ <br /> /mnt/sda1/projects/oe/oe-project/meta-office \ <br /> " <br /> <br />confirm layer is picked up: <br /># bitbake-layers show-layers <br /> <br />keep the downloaded src pkgs outside: <br /># ln -s ../../downloads downloads <br /> <br />edit buildQ/conf/local.conf: <br />---------------------------- <br />change these lines: <br />MACHINE ??= "qemux86-64" <br />PACKAGE_CLASSES ?= "package_deb" <br /> <br />append: <br />BB_NUMBER_THREADS = "1" <br />PARALLEL_MAKE = "-j 1" <br />BB_NUMBER_PARSE_THREADS = "1" <br /> <br /># in yocto, got an error when building initramfs, default maxsize is too small. <br /># INITRAMFS_MAXSIZE is set in meta/conf/bitbake.conf (= 131072 kb, 128MB). <br /># override here, 160MB: <br />INITRAMFS_MAXSIZE = "163840" <br /> <br /># yocto/poky/meta/conf/bitbake.conf has this line: <br /># DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data" <br /># ...this could be edited, or insert this into build/conf/local.conf: <br />#DISTRO_FEATURES_BACKFILL_CONSIDERED = "pulseaudio" <br /> <br /># want to add libreoffice. have already installed meta-office layer <br />DISTRO_FEATURES_append = " opengl" <br />IMAGE_INSTALL_append = " libreoffice"</code></pre>< <br /> <br />I personally would prefer not to have 'pulseaudio'. Unfortunately, it is required to be there in some recipes in OE. Then there is the problem of the latest Firefox requiring it. <br />So, I have left 'pulseaudio' in the build for now. <br /> <br /><b>Fix LibreOffice recipes</b> <br />I am posting fixes to the recipes here, after failures occurred, so hopefully if someone follows my instructions, the build will just sail through. <br /> <br />The Libreoffice recipes specify two dependencies, 'clucene' and 'postgresql', however, these packages failed to build. So, I removed them from the LibreOffice recipes. <br /><pre><code>These are the two recipe files: <br />/mnt/sda1/projects/oe/oe-project/meta-office/recipes-libreoffice/libreoffice/, <br /> <br /> <br />In I took out these two lines: <br /> clucene-core \ <br /> --with-system-clucene \ <br /> <br />In I took out: <br /> clucene-core-native \ <br /> --with-system-clucene \ <br /> <br />To get rid of postgresql, edit <br />remove postgresql line from here, in <br />PACKAGECONFIG ??= " \ <br /> gtk \ <br /> mariadb \ <br /> postgresql \ <br />" <br />insert this configure option: <br /> --disable-postgresql-sdbc \ <br />and comment-out this line: <br />PACKAGECONFIG[postgresql] = "--enable-postgresql-sdbc --with-system-postgresql, --disable-postgresql-sdbc, postgresql"</code></pre>< <br /> <br />Not there yet. Unpacking of libreoffice-native failed, reported that 'unzip' does not exist. Then, configuring, failed, reported something about 'neon' package not being in the repository. <br />To fix both of these: <br /><pre><code>have added these deps to <br /> unzip-native \ <br /> neon-native \ <br />insert this configure option: <br /> --with-system-neon \ <br /> <br />added dep to <br /> unzip \</code></pre>< <br /> <br /><b>Start the build</b> <br />Having already run that "source ./oe-init-build-env buildQ" command, "pwd" will show that you are now in the "buildQ" folder, and everything is setup ready to build. Do this: <br /> <br /><i># bitbake core-image-sato-sdk</i> <br /> <br />If you get a failure somewhere, it may not be a show-stopper, and you can keep going with: <br /> <br /><i># bitbake --continue core-image-sato-sdk</i> <br /> <br />Be prepared to wait a very long time! <br /> LibreOffice compiled in OE Linux My play with OpenEmbedded/Yocto is continuing, with success. For a very long time, I have dreamed of compiling OpenOffice, then LibreOffice, from source. It has been a couple of years since I last tried, but the few times that I had a go, just never got there. Too big and complex, too many failures. This was attempted on various flavours of Puppy and Quirky. <br /> <br />Now, having another go at being able to build a Quirky (or pup) from packages that I have compiled entirely from source, rather than relying on the effort of some other distro, I thought the cherry on the cake would be if I could actually get it to compile LibreOffice. <br /> <br />This blog post is to report success. Well, almost. There was a little fudge that I had to do to get Libreoffice to compile, then the "do_install" function failed. However, it is all there, and I can create a binary package manually. <br /> <br />I am communicating with Andreas, the maintainer of the LibreOffice recipe in OpenEmbedded, so hopefully the "fudge" can get fixed. For now, it would be good to document how I got this far. Remember, I am an almost absolute beginner with OE/Yocto, so there is room for improvement. However, documenting my steps might help others. So, here we go... <br /> <br /><b>The host system</b> <br />The host operating system has to be setup to be OE-friendly. There are online instructions for the major OS's, but I am running Quirky Linux 8.1.6, x86_64. This is a full installation, not one of those frugal thingies that you can do with Puppy Linux. <br />Quirky, being built with Ubuntu 16.04 Xenial Xerus DEBs, is pretty close to OK, just needs some tweaks, as documented here: <br /><pre><code>Running Quirky 8.1.6 x86_64 <br />'devx' PET must be installed. <br /> <br />Needs 'setterm' utility, this is in the 'util-linux' DEB, download and extract <br />this utility, to /usr/bin: <br /> <br /> <br />check (ok in quirky): <br />must have "messagebus" and "shutdown" groups in /etc/group <br />(had to add this to quirky): <br />must have "crontab" group. <br /> <br />bitbake requires python 3.4.0 or later. <br />have installed "python3" from the PPM. <br />this symlink is needed: <br /># ln -s python3.5 /usr/bin/python3</code></pre>< <br /> <br /><b>Downloading OE</b> <br />Previously, I had followed the getting-started page for Yocto, and checked out the "morty" release. <br />However, I ran into issues when trying to incorporate the "meta-office" layer (which has LibreOffice recipe). <br />So, I decided to do things at a bit differently. I downloaded from the OpenEmbedded git repository, like this: <br /><pre><code>create these folders, then cd into: <br /># cd /mnt/sda1/projects/oe/downloads-oe <br /> <br /># git clone git:// meta-openembedded --depth 1 <br /># git clone git:// openembedded-core --depth 1 <br /># git clone git:// meta-office --depth 1 <br /># git clone git:// bitbake --depth 1 <br /> <br /># cd .. <br /># mkdir oe-project <br /># cp -a downloads/openembedded-core/* oe-project/ <br /># cp -a downloads/openembedded-core/.templateconf oe-project/ <br /># cp -a -f --remove-destination downloads/meta-openembedded/* oe-project/ <br /># cp -a downloads/meta-office oe-project/ <br /># cp -a downloads/bitbake oe-project/</code></pre>< <br /> <br />The "--depth 1" means that no history is being downloaded, so I am working with the very latest only, of master branch. <br /> <br />Folder "oe-project" is now ready for action! <br /> <br />There is just one little hack needed, before can get going. Quirky, like Puppy, we run as the root user. We could probably set this up for a non-root user, but leaving things as they are, a couple of lines need to be commented out: <br /><pre><code>edit meta/classes/sanity.bbclass, comment-out: <br /> <br /> if 0 == os.getuid(): <br /> raise_sanity_error("Do not use Bitbake as root.", d) <br /> <br />Like this (keep the indentation): <br /> <br /> # if 0 == os.getuid(): <br /> # raise_sanity_error("Do not use Bitbake as root.", d)</code></pre>< <br /> <br />The only downside to doing this, at completion of the build a whole lot of warning messages will be spitted out on the terminal, containing the text "is owned by uid 0, which is the same as the user running bitbake". These are warnings only, not errors. <br /> <br />The next step is to setup the build environment. That will be the next blog post. <br /> Yocto 2 woofQ 2 Quirky Linux Have completed all of the steps. Compiled from source in Yocto, imported the x86_64 binary packages into woofQ, and built a Quirky distribution. It works, there is a desktop. <br /> <br />So far, have only done a "core-image-sato-dev" build in Yocto, with target-native SDK components included, as described here: <br /><a href=></a> <br /> <br />It is configured to create binary DEB packages, however, I ran into multiple issues with importing them into woofQ. <br />Instead, I wrote a script named '0pre-yocto' in woofQ, that imports entire un-split binary packages, as .tar.xz files. It also creates the Puppy-format database. <br /> <br />As this is early days with Yocto, to get a reasonable desktop I used many packages from April, for example Gnumeric and Dia. These work fine in the Yocto build. <br /> <br />Installed to a USB stick, booted, got a desktop. Although a "devx" PET has been created, have not yet tested whether there is a sane compiling environment. <br /> <br />'core-image-sato-dev' has some packages that I would rather do without, 'pulseaudio' for example. Next on the to-do list is to have a go at removing pulseaudio, see if it will still compile. <br /> Yocto books Linux After learning that it is possible to create target-native compiling tools, such as gcc, my interest in OE/Yocto got revitalised. See previous blog post: <br /><a href=></a> <br /> <br />I have just completed a build with Yocto, and it creates binary DEB packages for the target machine, and yes, that includes 'gcc', 'automake', 'autoconf', 'make', etc. Looks good. <br /> <br />Haven't actually installed it into a partition and tested if can actually compile anything, but intrigued enough to want to learn more about Yocto. It is a very big and complicated project, and the online docs are daunting. So, I have ordered a couple of books: <br /> <br /><i>Embedded Linux Systems with the Yocto Project</i> <br /><a href=></a> <br /> <br /><i>Embedded Linux Development with Yocto Project</i> <br /><a href=></a> <br /> <br />There are ebooks, but I like to have the paper! Costs a bit more -- total was just on AU$100, about US$75, including shipping to Australia. <br /> <br />Amazon's international shipping is odd. I say this from past experience. This order, that second book came up as does not ship to Australia, so clicked on the "22 New" link, and found that Amazon ships it to Australia, just costs a little more. <br />Had to go through this rigmarole even though I was logged in and had ticked the checkbox to only show items that can ship to Australia. <br /> <br />Anyway, looking forward to getting them! <br /> OE native compiling Linux <b>Native compiling</b> <br />My misunderstanding of the word "native" in the OpenEmbedded documentation, has been bothering me. <br /> <br />I posted about my latest go at using OE here: <br /><a href=></a> <br /> <br />I thought a "native toolchain" would be one that runs in the target machine. But not so. As clarified here: <br /><a href=></a> <br /> <br />..."native" refers to the host system. <br /> <br />However, this site is using "native" to refer to Yocto compiling in the target machine: <br /><a href=></a> <br /> <br />, it can be done! <br /> <br /><b>Slackware from Scratch</b> <br />Changing the subject, I was wondering how Slackware is built from scratch. Well, it seems that it isn't, or rather, it is a cobbled-together approach. Apparently, they have used LFS to get going, then their build scripts to build packages. <br /> <br />There is no automated equivalent to LFS, however, some guys have been developing Slackware from Scratch, with automated build scripts, see this thread: <br /><a href=></a> <br /> <br />...interesting! <br /> OpenEmbedded Morty Linux Last week I spent a few days trying to use OpenADK, tried all kinds of targets and 32-bit and 64-bit hosts, simple basic configurations, always failures. I had the same experience when I tried it early 2016. <br />Strangely though, the project is active, so some people must be having success. It would have to be for very specific config and host system, details that are not provided. <br /> <br />So, I have moved on to OpenEmbedded. I wrote about this back in June 2016. It is one that does work. In fact, it is the only cross-compiler toolchain/sdk builder thingy that does work. My experience with OpenADK, Crosstool-NG and T2 is that they are all broken. <br /> <br />Here is my June 2016 blog post on OpenEmbedded: <br /><a href=></a> <br /> <br />And Yocto, which uses OpenEmbedded: <br /><a href=></a> <br /> <br />At that time, the stable release was named "Krogoth". It is now "Morty". See release notes: <br /><a href=></a> <br /> <br />I want to create a new light-weight pup compiled from source, like I did with Quirky April, and earlier on there was Wary and Racy Puppy. These were built from packages compiled in T2. Unfortunately, T2 has become increasingly broken, and there is only one guy maintaining it. <br /> <br />So, there is only one choice left, OpenEmbedded. I don't know what extra functionality Yocto will bring to the table, so decided to stay with OE. <br />Right now, doing a target "core-image-sato-dev" build (for machine "qemux86-64", using glibc): <br /><a href=></a> <br /> <br />What I want to do is create a bunch of binary packages, that I can then import into woofQ and build a new Quirky. <br />I suppose it needs a name, so how about "OpenPup"? -- just did a search, can't find that name used anywhere. <br /> <br />Anyway, the OE build is chugging away right now. From prior experience, I have a high confidence that it will succeed. <br /> Alpine x86_64 chrootable rootfs Linux I wanted to create chrootable filesystems for ARM and x86_64, using uClibc or MUSL, for the purpose of compiling some utilities statically. <br /> <br />Unfortunately, uClibc support is waning. It still remains my favourite though. My experience with MUSL has not been 100% positive, but anyway, Alpine Linux offers a superb way to create chrootable rootfs's. <br /> <br />Some time ago, I played with Sabotage, a MUSL-based distro, and had an awful time to get SeaMonkey to compile -- got there, but SM was partly broken. I have just noticed that SM 2.46 is in Alpine, that is good news, gives me some confidence to consider MUSL again. <br /> <br />Um, but Alpine's "armhf" binaries are only armv6. Not what I want. But maybe I will move onto the "aarch64", which is apparently armv8 -- considering that Raspberry Pi2 boards now have the 64-bit CPU, same as the Pi3. <br /> <br />I found this excellent wiki page, explains how to create a chrootable rootfs: <br /><a href=></a> <br /> <br />I am running Quirky x86_64 version 8.1.6, on my baby laptop (with 1TB USB drive hanging off it). <br /> <br />I followed the wiki instructions, and created a script, named 'chroot-x86_64': <br /><pre><code>#!/bin/sh <br />mirror= <br />chroot_dir=alpine-rootfs-x86_64 <br />branch=v3.5 <br /> <br />cp /etc/resolv.conf ${chroot_dir}/etc/ <br />mkdir -p ${chroot_dir}/root <br /> <br />mkdir -p ${chroot_dir}/etc/apk <br />echo "${mirror}/${branch}/main" > ${chroot_dir}/etc/apk/repositories <br /> <br />mount -o bind /dev ${chroot_dir}/dev <br />mount -t proc none ${chroot_dir}/proc <br />mount -o bind /sys ${chroot_dir}/sys <br /> <br />chroot ${chroot_dir} /bin/sh -l <br /> <br />sync <br />umount ${chroot_dir}/sys <br />umount ${chroot_dir}/proc <br />umount ${chroot_dir}/dev</code></pre>< <br /> <br />Another script inside the rootfs, named 'rootfs-run-once', is run just once, after doing the chroot: <br /><pre><code>#!/bin/sh <br /> <br />rc-update add devfs sysinit <br />rc-update add dmesg sysinit <br />rc-update add mdev sysinit <br />rc-update add hwclock boot <br />rc-update add modules boot <br />rc-update add sysctl boot <br />rc-update add hostname boot <br />rc-update add bootmisc boot <br />rc-update add syslog boot <br />rc-update add mount-ro shutdown <br />rc-update add killprocs shutdown <br />rc-update add savecache shutdown <br /> <br />apk update <br />apk add alpine-sdk <br /> <br />echo 'kernel.grsecurity.chroot_deny_chmod = 0' >> /etc/sysctl.conf <br />sysctl -p</code></pre>< <br /> <br />I have uploaded the result to ibiblio, it has the scripts inside it (65MB): <br /><a href=></a> <br /> <br />OK, what I want to do next is compile busybox statically. As I recall, patches are required for MUSL, but that info should be somewhere in the Alpine developer repos -- just getting started with Alpine, don't know where to find things yet, nor do I know anything about the package management. <br /> <br />...if anyone reading this is familiar with Alpine, you are welcome to send me a PM on the Puppy Forum, I am "BarryK". Any of your thoughts and insights about Alpine are welcome. Forum: <br /><a href=></a> <br /> <br />Alpine Linux home page: <br /><a href=></a> <br /> <br /> Goodbye Ubuntu Touch Linux Ha ha, this morning I was considering installing Ubuntu Touch on my Nexus 5, as there is an image for it, that is, apparently, mostly working, except for bluetooth. <br />But, then ran across Mark Shuttleworth's recent announcement: <br /><a href=></a> <br /> <br />Now Ubuntu is going back to Gnome instead of Unity, and heading for Wayland instead of Mir!!! <br /> <br />Wow. Leaves me wondering though, will Ubuntu Touch actually die, or will the community take it up as an independent project? <br />There is some discussion about this here: <br /><a href=></a> <br /> MaruOS version 0.4 Linux Back in August 2016, I wrote about installing MaruOS version 0.2.3: <br /><a href=></a> <br /> <br />Yesterday I installed version 0.4, running it right now, posting this blog report from it. <br /> <br />I have a Nexus 5, as reported in earlier blog posts, as well as the recommended SlimPort HDMI adaptor. I have bluetooth keyboard and mouse. <br /> <br />It is working OK, and reasonably snappy performance. There are two main things lacking, audio, and hardware acceleration for video. <br /> <br />Huh, screen went blank, had to press the power button momentarily on the phone to bring it back. The HDMI screen blanks out wen the phone screen does, which of course can be changed. <br /> <br />The phone is set to access the Internet via wi-fi, and that is working also in MaruOS. <br /> <br />For those who don't know, MaruOS is just an Android app. Though, it is a specially modified version of Android. A very barebones Android, very snappy performance. <br /> Links for Ubuntu for Pi2 Linux Right now, looking at building Easy Linux for the Raspberry Pi2 and Pi3. As did for Quirky 8.1.4. <br /> <br />As Easy/Quirky built with same DEBs as Ubuntu Mate for Pi2, what they have have done is very helpful to look at. <br /> <br />Here are some useful links. The ubuntu-pi-flavour-maker home site: <br /><a href=></a> <br /> <br />The project code is hosted here: <br /><a href=></a> <br /> <br />They use a lot of customized DEBs, that can be found here: <br /><a href=></a> <br /> <br />The Ubuntu Mate website also has a Pi page: <br /><a href=></a> <br /> Puppy Linux newsletter Linux I mentioned the Puppy Linux Newsletter briefly, I think, at it's inception. <br /> <br />I just had a read of the March edition, it is looking good. I see that the April edition is in preparation. <br /> <br />To read about the background and how to contribute, go here: <br /><a href=></a> <br /> <br />Read online or download the newsletters from here: <br /><a href=></a> <br /> <br />smokey01 is the main driving force behind the newsletters, and it is great to see others getting onboard with contributions. <br /> VLC fixed for Easy and Quirky Linux My simpleVP frontend for the commandline vlc and other CLI video players, remains in a primitive state. I haven't had the time to work further on it. So, video playing in the latest Easy and Quirky (versions 0.2 and 8.1.6) is broken. <br /> <br />I have fixed VLC. This is now the GUI version, that uses Qt libs. A lot of extra DEBs were required. <br /> <br />I got it working, but found videos would not play full-screen, and VLC crashed at completion of playing a video. <br />My laptop has intel graphics. VLC defaults to using libva and intel_vaapi for video output, and this is the cause of the trouble. <br /> <br />I have created a wrapper script, that causes VLC to default to "xcb_x11" or "xcb_xv" video output, unless the user has explicitly chosen something else. For me, "xv" (xvideo), works fine. <br /> <br />I also fixed the File->Open folder path, as appropriate for Easy or Quirky. <br /> SeaMonkey 2.46 compiled in Pi3 Linux I have compiled SeaMonkey 2.46 in the Raspberry Pi3, running Quirky Xerus 8.1.4. It took all night, but finally got there, after a few failures. <br /> <br />The info at the LFS page was invaluable: <br /><a href=></a> <br /> <br />This is my mozconfig: <br /><pre><code>mk_add_options MOZ_MAKE_FLAGS='-j1' <br />mk_add_options MOZ_CO_PROJECT=suite <br />ac_add_options --enable-application=suite <br />ac_add_options --enable-system-hunspell <br />ac_add_options --prefix=/usr <br />ac_add_options --host=armv7l-unknown-linux-gnueabihf <br />ac_add_options --disable-dbus <br />ac_add_options --disable-accessibility <br />ac_add_options --with-system-bz2 <br />ac_add_options --disable-updater <br />ac_add_options --disable-parental-controls <br />ac_add_options --disable-system-sqlite <br />ac_add_options --disable-system-cairo <br />ac_add_options --enable-strip <br />ac_add_options --without-system-jpeg <br />ac_add_options --with-system-zlib <br />ac_add_options --disable-tests <br />ac_add_options --with-default-mozilla-five-home=/usr/lib/seamonkey <br />ac_add_options --enable-default-toolkit=cairo-gtk2 <br />ac_add_options --disable-crashreporter <br />ac_add_options --with-system-libvpx <br />ac_add_options --enable-gio <br />ac_add_options --disable-necko-wifi <br />ac_add_options --disable-gconf <br />ac_add_options --without-system-nspr <br />ac_add_options --without-system-nss <br />ac_add_options --enable-ldap <br />ac_add_options --with-system-icu <br />ac_add_options --disable-pulseaudio <br />ac_add_options --enable-system-ffi <br />ac_add_options --disable-gnomeui <br />ac_add_options --with-pthreads <br />ac_add_options --enable-system-pixman <br />ac_add_options --disable-debug <br />ac_add_options --without-system-libevent <br />ac_add_options --enable-optimize='-Os'</code></pre>< <br /> <br /> retrospect, I would have chosen not to use the system pixman lib, as although it works, error messages get spitted out on stderr. <br /> <br />...note also, not using system libevent. Version 2.1.8 and later requires a patch, as shown on the LFS page. Quirky, based on Ubuntu 16.04 DEBs, has an older libevent that does NOT want that patch -- which I found out the hard way, as the LFS page doesn't explain that vital detail. Using the internal libevent avoids the problem. <br /> <br />I had to install "autoconf2.13" DEB from the Ubuntu repo, otherwise configure doesn't work. <br /> <br />With "mozconfig" in place, it was just a matter of: <br /><i># make -f <br /># make -f install</i> <br /> Maybe move from Hostgator to VPS Linux As posted, have problems with my host, Hostgator. Too much traffic, they say. It is a cheap shared account, supposed to be unlimited data, except it isn't. <br /> <br />I would like to have more control, and not get taken down when traffic peaks. <br /> <br />Jamesbond has recommended these guys: <br /><a href=></a> <br /> <br />...very cheap. Unmetered?! Ah, ok, data bandwidth is shared, but according to this, they won't actually take down a VPS: <br /><a href=></a> <br /> <br />This is an interesting getting-started read on VPS: <br /><a href=></a> <br /> <br />These guys specify a certain amount of data allowed per month, also they cost more: <br /><a href=></a> <br /> <br />...I wonder what happens if that limit is reached? Throttled, taken down? <br /> Fatdog64 build recipes Linux jamesbond has posted this on the Puppy Forum: <br /><a href=></a> <br /> <br />James and the Fatdog developers have made a complete compile-from-source build system. They are using Slackware-like package management. <br /> <br />This total approach is superb. <br /> <br />Note, Fatdog forked from Puppy many years ago. At that time, the build system was named <i>Unleashed</i> -- <i>Woof</i> came later, for Puppy. <br />For Puppy, we now have <i>woof-CE</i> (Community Edition), and for Quirky Linux, of which Easy is the latest incarnation, I have the <i>Quirky</i> build system, a fork of <i>Woof2</i> (the precursor to woof-CE). <br /> Easy Linux 0.2 pre-alpha Linux Here it is, the very first upload of Easy Linux! <br /> <br />I have designated this as "pre-alpha", as in some respects it is incomplete, untested, or immature. <br /> <br />On the otherhand, you might find it works fine for your needs. <br /> <br />To get an idea of what Easy is all about, please do read my How Easy Works page: <br /><a href=></a> <br /> <br />The status of Easy is like how an artist creates a painting with broad strokes to build up the overall picture, then later uses finer brushes and more colours. Easy is at the "broad strokes" stage. <br /> <br />Having read the intro, if you are still interested, download from here: <br /><a href=></a> <br /> <br />There are no installation instructions yet, but there are some notes in the How Easy Works page. In Linux, you can write the file to a Flash stick or SD-card from the commandline, or use a GUI app. <br /> <br />A GUI app for Windows is <i>USB Image Tool</i>, that I wrote about here: <br /><a href=></a> <br /> <br />Etcher is another GUI image writer, for Linux, Mac and Windows (I haven't tried this): <br /><a href=></a> <br /> <br />You will need a Flash stick or SD-card of at least 2GB. <br /> <br />Please provide feedback on the Puppy Forum: <br /><a href=></a> <br /> Easy Linux maybe soon Linux I haven't mentioned it on my blog, but have been in India for six weeks, just got back a week ago. Brought diarrhea back with me, so haven't felt 100% -- test shows no parasites, so the cause is a mystery for now, but getting better. <br /> <br />Anyway, Easy Linux. I have been working on some new ideas, or kind of a rehash of old ideas. It has been very intermittent, but do have something. It is very interesting, so even though incomplete, will probably upload it as an alpha release. Soon. <br /> Website is back General Had to wrangle for a few days with my host, Hostgator. Back in November 2016, I had to disable, as there was apparently too much traffic on it. Now, has too much traffic, so also disabled. <br />These are both archived read-only blogs, with lots of good reference material about Puppy Linux. Pity they are now down. <br /> <br />Received an email from David, reporting that Hostgator has a new owner in 2016, and there are many reports of the service going downhill. <br /> <br />It is odd that my site has been there with much the same content for years, only recently is experiencing this traffic problem. <br /> <br />Jamesbond suggested an alternative host, might consider that. <br /> exfat support in Quirky Linux Some of the guys on the Puppy Forum have been discussing exfat support in Puppy: <br /><a href=></a> <br /> <br />And mavrothal has submitted patches to woof-CE: <br /><a href=></a> <br /> <br />Ok, exfat support is missing from Quirky, so I have also added it to the Quirky build system. Added 'exfat-utils' and 'exfat-fuse' DEB packages to the package list. <br />And modified these files: <br /> <br /><i>/usr/local/pup_event/frontend_funcs, frontend_change, frontend_startup, <br />/usr/local/bin/drive_all <br />/usr/sbin/pmount</i> <br /> <br />Note that /sbin/probepart did not need changing. The applets guess_fstype and blkid are part of busybox, and already support exat. <br /> A laptop for Linux Linux Finally, a laptop that is Linux-compatible and with good specs and is cheap. <br /> <br />It is the Litebook, described here: <br /><a href=></a> <br /> <br />It has a Intel quad-core 14nm N3150 Braswell, with integrated graphics, OK for me. Then there's 4GB RAM, ...well, you can read the link. <br /><img src= /> <br /> <br />There are a couple of things that jumped out at me as very thoughtful, very nice: <br /> <br />First, the touchpad has separate physical left and right buttons -- I hate the modern touchpads that are just a single surface. <br /> <br />Secondly, the hybrid storage. Both a 32GB SSD and a 512GB hard drive. They are separate partitions. This is very good. The OS and installed apps sit in the SSD and the magnetic-platter hard drive is for general storage. This is a good combination. <br /> <br />They haven't skimped on I/O either. I see an ethernet socket, SD-card, 2x USB3, HDMI, Bluetooth, wifi. Very good. <br /> <br /><b>EDIT:</b> <br />WARNING, see comment <br /> Touchpad working properly on Asus E200HA Linux I have grumbled many times about problems with Linux on my Asus E200HA baby laptop. <br /> <br />Let's see, itemising: <br /> <br /><i>1. CPU usage suddenly going through the roof, making UI inoperative. <br />2. SD-card interface not recognised. <br />3. No sound. <br />4. Touchpad not properly recognised and unconfigurable.</i> <br /> <br />I read a report a few days ago, that the touchpad is fixed with the 4.10 kernel. Also, keyboard hot keys: <br /><a href=></a> <br /> <br />So, I compiled 4.10.1, and can confirm, yes, the touchpad is now recognised as a Synaptics touchpad by Xorg, and Flsynclient works. <br /> <br />I did report earlier that audio is fixed, however that might require an Alsa upgrade. <br /> <br />I have been running it for a few hours, stable so far. Cross the fingers that I can rule out number-1. <br />Then number-2 is the remaining big problem. <br /> Things are happening Linux Just realised, the last blog post was Feb. 10, and it is now 24th. <br /> <br />So, a very brief post, in case anyone is wondering what is happening. Lots of things! Working on Easy Linux, containers, and more. <br /> <br />Still expecting to have something to upload mid-March. <br /> Indirection in a shell script Linux I recently posted about a cool solution for doing sort of version numbers using busybox 'sort', when the full 'sort' (from coreutils) is not available: <br /><a href=></a> <br /> <br />Another cool solution is an implementation of variable indirection, when bash is not available. Bash has a special operator for indirection, like this: ${!PTR}. <br /> <br />Running in the initramfs however, there is only busybox. It does not support that "!" operator, however indirection is easy to implement, as explained here: <br /><a href=></a> <br /> <br />Back on the topic of the stability of a layered filesystem on the E200HA laptop, ever since I implemented the kernel boot parameter as described in my recent post, Easy Linux has been rock solid: <br /><a href=></a> <br /> <br />There was one screen freeze when I first tried it, since then have been running Easy many hours, booted up many times, using it now, rock solid. <br />Still on aufs, will do a build with overlay f.s. soon, see if that is also stable. <br /> <br />Changing the subject again, BluePup, my bluetooth manager, is working, but needs some TLC. When I bootup, have to use the touchpad to click on the BluePup icon, then turn on the mouse, then it gets detected and works. <br />Obviously, it would be better if those steps were not required. <br /> <br />But BluePup is one of many things languishing well-down in the to-do list! <br /> Lenovo Yoga A12 Linux Ha ha, follow-on from my previous post, now running for one hour and 30 minutes. <br />I wonder, SeaMonkey is keeping the CPU very busy. Perhaps the freezing is some kind of "idle" problem. <br /> <br />Anyway, on the lookout for a replacement for the E200HA. No rush, just watching what comes along. <br />The new Lenovo Yoga A12 sure looks nice for a traveler: <br /><a href=></a> <br /><img src= /> <br /> <br />...but, oh dear, it has the Cherry Trail SoC! <br /> <br /> More stability issues with E200HA Linux Ha ha, it has got worse. Running the new "Easy Linux" Quirky on an overlay filesystem, stability has become worse. I was getting a very occasional freeze with the full installation of Quirky, but it has become more frequent when running on an overlay f.s. <br /> <br />Apart from seemingly random freezing, I have been getting a degradation. I suddenly notice the degradation, such as apps not starting, even htop, and xload shows CPU usage has gone through the roof. Requires holding down the power button to shutdown. <br /> <br />I wondered if the overlay f.s. was to blame, so patched the 4.4.47 kernel with aufs and compiled. First time ran it with aufs, it ran for an hour, no problem. Next bootup, got the UI degradation after about half an hour. <br /> <br />I read on the internet that this kernel boot parameter will fix freezing on the E200HA: <br /> <br /><i>intel_idle.max_cstate=1</i> <br /> <br />Rebooted, got a freeze after only a few minutes! Still using aufs. Rebooted, now it has been running for one hour and 7 minutes. Hmmm. <br /> <br />Using it right now, posting from SeaMonkey. <br /> Sorting version numbers Linux I have a need to sort version numbers in the Easy Linux initramfs. The 'sort' utility in Coreutils has the "-V" option, however my initramfs only has busybox sort, which does not have that option. <br /> <br />I recall some years ago, trying to figure out a script to do it. Now that the need has come up again, I did a search with google, and found this: <br /><a href=></a> <br /> <br />...yes, a simple one-liner, works great. <br /> <br />A note on progress with Easy Linux, the next-gen Quirky. Coming along very nicely, and lots of fun. When will there be a release? ...not sure, want to get it pretty rock-solid first, even though it will be an alpha or pre-alpha. Probably early-March. <br /> Kernel 4.4.45 compiled Linux I recently compiled the 4.4.44 kernel, with namespaces and cgroups enabled (though only "devices" cgroups). <br /> <br />A bit more online reading and I found more configuration settings that look good when working with containers. So have now compiled the 4.4.45 kernel with these turned on. <br /> <br />Typing from my handwritten notes, here they are: <br /> <br /><pre><code>Device Drivers -> <br /> [*] Support for multiple instances of devpts CONFIG_DEVPTS_MULTIPLE_INSTANCES <br /> [*] Network device support -> <br /> -*- Network core driver support -> <br /> <*> Virtual ethernet pair device CONFIG_VETH <br /> <*> MAC-VLAN support CONFIG_MACVLAN</code></pre>< <br /> <br />In my notes, I have written that for the multiple devpts, mount with "mount -o newinstance ..." <br />CONFIG_VETH supports a local ethernet tunnel. <br /> <br />A progress note: my "next generation" Quirky, codenamed "Easy", boots to the desktop. Details to follow. <br /> The murky depths of GPT Linux I will post this while it is fresh in my mind! <br /> <br />For years I have been providing Quirky as a ready-made image for an 8GB (or greater) USB Flash stick or SD-card. <br /> <br />To cater for the fact that "8GB" sticks actually have quite different amounts of memory, I create two partitions a bit smaller than the capacity of the drive. The first is a 512MB fat32 partition and the second is a f2fs or ext4 partition that does not quite fill the drive. <br /> <br />After having written Quirky to the stick, I then copy it back as an image file, only copying to the end of the second partition. <br /> <br />Now for the first problem. I am using a GUID partition table, and the way they work is there is a primary GPT at the start of the drive, and a secondary (backup) GPT at the very physical end of the drive. <br />In my scenario, I am creating an image file with the secondary GPT missing. <br /> <br />Now, a user downloads my image file and writes it to a 8GB stick. If it is a new stick, or one that has been wiped, no problem, Linux will see only the primary GPT and use that. <br /> <br />The problem arises if the stick has been used before, for Quirky or some other Linux distro, in which case it will have a GPT at the end of the drive, or rather most likely will. Note, GPT is usually required for booting on computers with UEFI-firmware. <br /> <br /><b>Case A</b> <br />Linux, and indeed the 'fdisk' utility, both get confused here. This is where it gets murky. Today I discovered that if the image file is written to a drive that has larger capacity than the one I created the image from, all is well. Linux, and fdisk, determine that the secondary GPT is faulty, and use the first one. Fine, that is what we want. <br /> <br /><b>Case B</b> <br />The murkiness comes in when write the image file to a drive that is less, maybe still a nominal 8GB but with less capacity than mine. <br />When I did this, and replugged the drive, no partition icon showed up on the desktop. Hmmm, I looked in /sys/block/sdb (my flash stick was sdb) and there was a sdb1 but it was reported as not having a filesystem, and the size was completely wrong. <br /> <br />"fdisk -l /dev/sdb" reported that the primary GPT is faulty, and it is using the secondary GPT! <br /> <br />Why? The primary GPT has a pointer to where the secondary GPT is supposed to be. If that pointer is somewhere within the drive, that will be case A. If that pointer is beyond the physical end of the drive, that will be case B. In the latter case, Linux kernel and fdisk then conclude the primary partition is invalid. <br /> <br />This is incredible, but does seem to be the situation. <br /> <br />The new Easy Linux that I am developing, has only one 519MB fat32 partition, total image size of 520MB. If I create this on a flash stick that is smaller than what any user will have, all will be well. I could create it on a 1GB drive, if I had one. I have to start asking around, see if someone has an old one, that is not yet broken. <br /> <br />Easy Linux is actually intended to run on a Flash stick as small as 2GB (linuxcbon will be happy!), though 4GB or more is more useful. <br /> <br />The way I am designing it, at first bootup it will create a ext4 partition to fill the drive, and at the same time create a correct secondary GPT. This will happen automatically at first bootup. <br />That's the plan anyway. <br /> Easy Containers Linux I might as well give this effort a name, calling it "Easy Containers". I am having a go at creating containers for Quirky, using grassroots utilities, rather than the heavy-duty packaged techniques such as LXC or Docker. <br /> <br />Thanks to jamesbond and heaps of posts on the Internet, the basics of Easy Containers is looking good. Well, it is fun anyway. <br /> <br />The container is to be a layered filesystem, using aufs or overlayfs, with the operation system SFS file underneath, and the rw layer either a folder, tmpfs or a partition. The SFS would be your Quirky, Puppy, or Fatdog .sfs, straight from the live-CD. <br /> <br /><b>Layered root filesystem</b> <br />Setting up the layers is straightforward, for example using overlayfs: <br /><i># mount -t squashfs -o loop,noatime q.sfs q_ro/ro1 <br /># mount -t overlay -o lowerdir=q_ro/ro1,upperdir=q_rw/rw1,workdir=q_rw/work1 overlay q_top1</i> <br /> <br />Where q_ro/ro1, q_rw/rw1, q_rw/work1 and q_top1 are just folders. <br /> <br />After doing this, I made some changes on top, that is, in ./q_top1: <br /> <br />With Quirky, /sys and /run do not exist, so created them. <br /> <br />I want to avoid any "mount -bind ..." or "mount -rbind ...", so instead of doing that for /dev, I created static device nodes in q_top1/dev -- you can copy these out of initrd-tree/dev in Woof. <br />Don't copy /dev/* from the host system, it has all sorts of stuff mounted. I also manually created folders /dev/pts and /dev/shm. <br /> <br />The online advice is to execute "mount --rbind /dev ./q_top1/dev" prior to the chroot, and I don't know what the downside is with just having static device nodes. A device node that is in-use in the host, what of that? -- having a copy of the node in the rootfs, is that unusable? In what situation would this matter? <br /> <br /><b>chroot into rootfs</b> <br />To chroot into q_top1, just do this: <br /><i># cp -f /etc/resolv.conf ./q_top1/etc/resolv.conf <br /># unshare -piumU --fork --mount-proc --map-root-user --setgroups=deny env -i TERM=xterm DISPLAY=:0 /bin/busybox chroot ./q_top1 /bin/sh</i> <br /> <br />Then inside the chroot, do this: <br /><i># mount -t proc proc /proc <br /># mount -t tmpfs shmfs /dev/shm</i> <br /> <br />You can then run leafpad, geany, rox, seamonkey, etc. However, there is a bug, the first time an X app is started, it crashes with this error message: <br /><i>"BadShmSeg (invalid shared segment parameter)"</i> <br /> <br />Thereafter, X apps start OK. <br /> <br />The CLI full-screen 'mp' text editor, that uses ncurses, works. As it is not an X app, it does not have that crashing problem. <br /> <br />It is interesting that ":0" works inside the chroot, some online docs state that won't work, and you need to use other methods, such as the following... <br /> <br /><b>DISPLAY=localhost:0</b> <br />This is probably a better way to do it, as I aim to make the chroot environment more isolated. It is odd, when I tested this, the above-mentioned "BadShmSeg" crash did not occur, yet just now did it the same way, and that error is back. So, there is a mystery here. <br /> <br />I read if you remove the "-nolisten tcp" on the Xorg invocation line in /usr/bin/xwin, and run "xhost +localhost", you can then set DISPLAY=localhost:0 inside the chroot filesystem. <br />Two problems with this. Firstly, it is considered to be a security risk, and xhost is considered to not be a very secure safeguard. Second, I could not get it to work, the value of DISPLAY is reported as invalid inside the chroot environment. <br /> <br />However, there is another, secure way of doing it. You need the 'socat' utility, which is available as a DEB, if you are running Ubuntu or Debian based puplet. I found out how to do it here: <br /><a href=></a> <br /> <br />Create a little script, I have called it 'ec-chroot': <br /><i>#!/bin/sh <br />if ! pidof socat; then <br /> # -ly causes log to syslog. <br /> socat -ly -d -d TCP-LISTEN:6000,fork,bind=localhost UNIX-CONNECT:/tmp/.X11-unix/X0 & <br />fi <br />#needed for internet access... <br />cp -f /etc/resolv.conf ./q_top1/etc/resolv.conf <br />#--map-root-user needed if have -U, otherwise env will fail. <br />unshare -piumU --fork --mount-proc --map-root-user --setgroups=deny env -i TERM=xterm DISPLAY=localhost:0 /bin/busybox chroot ./q_top1 /bin/sh</i> <br /> <br />Once inside the chroot, run these: <br /><i># mount -t proc proc /proc <br /># mount -t tmpfs shmfs /dev/shm <br /># leafpad</i> <br /> <br />...and leafpad starts without crashing, or rather, it did first time I tested this, not today! <br /> <br />SeaMonkey works too, and accesses the Internet, except that churns out dbus errors. I tested with starting udevd beforehand, but no good. SM still runs. I could compile SM without dbus support, to avoid the problem. Or, could figure out why dbus doesn't work. <br /> <br /><b>Multiple containers</b> <br />I have tested running two containers simultaneously, both with the underlying q.sfs. Got them running right now, one is running geany, the other leafpad, no problem with these windows. <br /> <br />Just an observation, not quantified, but I think there is a slight startup delay of the X app when using the DISPLAY=localhost:0 method. <br /> <br /><b>Thoughts</b> <br />What to do about that "BadShmSeg"? This question has come up many times on the Internet, but haven't found a definitive solution. My wild guess is that there is some shared-memory that Xorg is using in the host, that is not valid in the chroot environment, and Xorg detects that when the first X app is run. There are many online posts of a fix for Qt-based apps, using "export QT_X11_NO_MITSHM=1", however, that is not a fix, it is just avoiding the problem. <br /> <br />A less-than-satisfactory solution would be to run a little do-nothing X app on first entry to the chroot environment. <br /> <br />It is most pertinent to now ask, how secure is this? I have used 'unshare' to unshare everything, have not run "mount --bind" or "mount --rbind", "env -i" has removed most environment variables. What more can we do to improve security? <br /> <br />Here is something interesting to think about. Inside the container: <br /><i>sh-4.3# mkdir /mnt/sda2 <br />sh-4.3# busybox mount -t ext4 /dev/sda2 /mnt/sda2 <br />mount: permission denied (are you root?) <br />sh-4.3# whoami <br />root</i> <br /> <br />...which is good from a security viewpoint. But why doesn't it work, and can it be got around? <br /> <br />This is such an interesting topic, so I will start a Forum thread for feedback. <br /> Grassroots containers in Fatdog Linux Ha ha, I thought that jamesbond, one of the main guys behind Fatdog, would have already studied containers and simple ways to implement them! <br /> <br />I have already conducted simple experiments on "grassroots", or build-your-own" containers, using 'env', 'unshare' and 'chroot', haven't posted to the blog yet, as need to do more investigation. <br /> <br />However, jamesbond has already done all the work on a "grassroots" implementation. This is an email he sent me today: <br /> <br />-------------------------------- <br /><i>RE: Container - you may want to see how Fatdog supports containers, here: <a href=></a> <br /> <br />I have merged the standard sandbox into Woof-CE, so newer puppies should have built-in. <br /> <br />As you are probably aware by now, "container" is full of hype and stuff. For Windows users these kind of things are probably "new" and "interesting", but for Linux they're re-packaged old stuff. A container is just "chroot on steroid" and there are many ways to achieve it. <br /> <br />The most basic way you can just use "unshare" command from recent core-utils (in fact, from Fatdog uses this if it's available instead of just standard "chroot"). If you want to run a process inside an existing namespace, you can use "nsenter" (also from core-utils). <br /> <br />Of course, the basic tools for Linux container is LXC, and this is what I use for <br /> <br />This script and all other Fatdog scripts are available here: <a href=></a></i> <br />--------------------------------- <br /> <br />For reference, there is a webpage that info on a grassroots build-your-own approach, using 'unshare', 'env' and 'chroot': <br /><a href=></a> <br /> <br />Note, 'unshare', 'env' and 'chroot' are all busybox applets, though "full" versions are available elsewhere. <br /> Getting started with LXC Linux My venture into containers continues. Yesterday I posted some preliminary notes, and a quick look at Firejail: <br /><a href=></a> <br /> <br />LXC is, as far as I can determine, the officially supported Linux kernel mechanism for containers. The website for LXC is here: <br /><a href=></a> <br /> <br /><b>Kernel config</b> <br />None of my previous kernels for Quirky have namespaces and cgroups support. For my experiments with namespaces and cgroups, I have compiled the 4.4.44 kernel with these settings: <br /><i>CONFIG_CGROUPS=y <br /># CONFIG_CGROUP_DEBUG is not set <br /># CONFIG_CGROUP_FREEZER is not set <br /># CONFIG_CGROUP_PIDS is not set <br />CONFIG_CGROUP_DEVICE=y <br /># CONFIG_CPUSETS is not set <br /># CONFIG_CGROUP_CPUACCT is not set <br /># CONFIG_MEMCG is not set <br /># CONFIG_CGROUP_PERF is not set <br /># CONFIG_CGROUP_SCHED is not set <br /># CONFIG_BLK_CGROUP is not set <br /># CONFIG_CHECKPOINT_RESTORE is not set <br />CONFIG_NAMESPACES=y <br />CONFIG_UTS_NS=y <br />CONFIG_IPC_NS=y <br />CONFIG_USER_NS=y <br />CONFIG_PID_NS=y <br />CONFIG_NET_NS=y</i> <br /> <br />Note that for cgroups, I only enabled CONFIG_CGROUP_DEVICE, as that is the only one that intersts me, for now. Was that a bad decision? Maybe should have enabled more, but can do so in future. <br /> <br /><b>LXC 2.0.6</b> <br />The Ubuntu DEB has a huge number of dependencies, so I compiled lxc version 2.0.6 from source, using this very cutdown config: <br /><i># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --with-distro=slackware --disable-lua --enable-bash --disable-python --disable-selinux --disable-apparmor</i> <br /> <br />This is the report: <br /><i>Environment: <br /> - compiler: gcc <br /> - distribution: slackware <br /> - init script type(s): <br /> - rpath: no <br /> - GnuTLS: yes <br /> - Bash integration: yes <br />Security features: <br /> - Apparmor: no <br /> - Linux capabilities: yes <br /> - seccomp: no <br /> - SELinux: no <br /> - cgmanager: no <br />Bindings: <br /> - lua: no <br /> - python3: no <br />Documentation: <br /> - examples: yes <br /> - API documentation: no <br /> - user documentation: no <br />Debugging: <br /> - tests: no <br /> - mutex debugging: no <br />Paths: <br /> - Logs in configpath: no</i> <br /> <br />After installation of LXC, I ran "lxc-checkconfig", and it reported: <br /><i># lxc-checkconfig <br />--- Namespaces --- <br />Namespaces: enabled <br />Utsname namespace: enabled <br />Ipc namespace: enabled <br />Pid namespace: enabled <br />User namespace: enabled <br />Network namespace: enabled <br />Multiple /dev/pts instances: missing <br />--- Control groups --- <br />Cgroup: enabled <br />Cgroup namespace: required <br />Cgroup device: enabled <br />Cgroup sched: missing <br />Cgroup cpu account: missing <br />Cgroup memory controller: missing <br />Cgroup cpuset: missing <br />--- Misc --- <br />Veth pair device: missing <br />Macvlan: missing <br />Vlan: missing <br />Bridges: missing <br />Advanced netfilter: enabled <br />CONFIG_NF_NAT_IPV4: enabled <br />CONFIG_NF_NAT_IPV6: enabled <br />CONFIG_IP_NF_TARGET_MASQUERADE: enabled <br />CONFIG_IP6_NF_TARGET_MASQUERADE: enabled <br />CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled <br />FUSE (for use with lxcfs): enabled <br />--- Checkpoint/Restore --- <br />checkpoint restore: missing <br />CONFIG_FHANDLE: missing <br />CONFIG_EVENTFD: enabled <br />CONFIG_EPOLL: enabled <br />CONFIG_UNIX_DIAG: missing <br />CONFIG_INET_DIAG: enabled <br />CONFIG_PACKET_DIAG: missing <br />CONFIG_NETLINK_DIAG: missing <br />File capabilities: enabled</i> <br /> <br />What is not shown above, is that the line "Cgroup namespace: required" has the "required" in red colour text. Indicating that something is amiss. <br /> <br />After googling around, I couldn't determine the exact cause of this "required", except for lots of people asking the same question, but did find this statement "This one should be fine to ignore", here: <br /><a href=></a> <br /> <br />Anyway, a quick little test, to see if can create a basic container. It has to be created from files from the host system, and for this there are templates: <br /><i># ls /usr/share/lxc/templates <br />lxc-alpine lxc-centos lxc-fedora lxc-oracle lxc-sshd <br />lxc-altlinux lxc-cirros lxc-gentoo lxc-plamo lxc-ubuntu <br />lxc-archlinux lxc-debian lxc-openmandriva lxc-slackware lxc-ubuntu-cloud <br />lxc-busybox lxc-download lxc-opensuse lxc-sparclinux</i> <br /> <br />I will give the busybox template a go: <br /><i># lxc-create -n mycontainer -t busybox <br />lxc-create: lxccontainer.c: do_create_container_dir: 972 No such file or directory - failed to create container path /var/lib/lxc/mycontainer <br />lxc-create: tools/lxc_create.c: main: 318 Error creating container mycontainer</i> <br /> <br />...hmmm. I manually created /var/lib/lxc, then tried again: <br /><i># lxc-create -n mycontainer -t busybox <br />setting root password to "root" <br />'dropbear' ssh utility installed</i> <br /> <br />Yes, works, and it is even chrootable: <br /><i># chroot /var/lib/lxc/mycontainer/rootfs /bin/sh <br /># ls <br />bin etc lib mnt root selinux tmp var <br />dev home lib64 proc sbin sys usr <br /># exit</i> <br /> <br />However, there are a lot of lxc-* utilities, so can use those to get into my container. <br />Using this webpage as a getting-started guide: <br /><a href=></a> <br /> <br />It seems that we have to "start" a container first, before can log into it: <br /><i># lxc-start -n mycontainer -d <br />lxc-start: tools/lxc_start.c: main: 360 The container failed to start. <br />lxc-start: tools/lxc_start.c: main: 362 To get more details, run the container in foreground mode. <br />lxc-start: tools/lxc_start.c: main: 364 Additional information can be obtained by setting the --logfile and --logpriority options.</i> <br /> <br />Using the fireground option: <br /># lxc-start -n mycontainer -F <br /><i>lxc-start: cgroups/cgfs.c: cgfs_init: 2359 cgroupfs failed to detect cgroup metadata <br /> lxc-start: start.c: lxc_spawn: 1093 Failed initializing cgroup support.</i> <br /> <br />...cgroups. I am at the bottom of the learning curve with cgroups, so had better readup on that next. Obviously, there is something I have to initialize. <br /> <br />Well, at the bottom of the learning curve with namespaces and containers also! <br />But, one step at a time, will get there. <br /> Containers for Quirky Linux I am thinking about the next-generation Quirky, and through 2016 have played with various software technologies, such as device-mapper and btrfs. <br /> <br />Another one on the list is <i>containers</i>, and I did a bit of reading during 2016, wasn't impressed. A Docker container has an absolute minimum size of 3.6MB. I saw one post where the person was proud that he had reduced the size of his Docker container to 25MB. <br />This idea of putting everything into a container, is so wasteful, and contrary to our Puppy philosophy. <br /> <br />It is all very well that these days we have heaps of storage, but with containers it is very easy to use it up. I am thinking of Quirky running on a Flash stick. Ideally, I would like Quirky to run happily on a 4GB stick. <br /> <br />I was trying to think how containers can be implemented efficiently, and thought, why not use an overlay filesystem, such as overlayfs or aufs? This is Puppy's home turf! This seems like a very good idea, and so I expected the same idea will have occurred to many other people -- which it has, lots of posts, including using overlayfs for Docker. <br /> <br />Firstly though, what is a container? A filesystem that you can chroot into is a container. An environment that you can run an application with isolation from the rest of the system, is a container. The basic requirement is to provide security, such as prevent a rogue app from getting out, or an outside intrusion from getting out. <br />Containers go some steps beyond the basic chroot, with extra levels of isolation. <br /> <br />This idea of using overlayfs. Instead of copying everything, libraries, etc., into a container, mount it as an overlayfs, with the read-only system as an SFS file underneath. This SFS file can be shared by all containers. This is extremely space efficient, but it also solves some implementation problems, for example as described here: <br /><a href=></a> <br /> <br />Right now, I am just reading and learning more. Nowhere near formulating what the proposed "next gen" Quirky will look like. <br /> <br />Currently studying this, a simple implementation of containers, very interesting: <br /><a href=></a> <br /> Linux on E200HA notes Linux I have posted a few times about running Linux, specifically Quirky, on my Asus E200HA baby laptop. Here are some posts: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />I bought this laptop because of it's small size and light weight, easy to take as carryon when flying. And it is cheap. Unfortunately, it is not very compatible with Linux. <br /> <br />This is a webpage with a summary of the issues of E200HA and Linux: <br /><a href=></a> <br /> <br />Here is another page, similar information, also mentions freezing with some versions of Linux: <br /><a href=></a> <br /> <br />...there is a kernel boot parameter workaround for freezing, which I haven't tried. <br /> <br />I had freezing issues with the 4.8.x kernel, and rolled back to 4.4.40, which I am now using. No freezing issue. <br />Odd that later kernels give more trouble with this SoC! <br /> <br />I am still very disappointed that the SD-card interface doesn't work. The above links report that it may work, partly, with later kernels. <br /> <br />One good thing, the USB3 interface seems OK now. There was a freezing problem with kernel 4.4.8, but 4.4.40 is OK. <br /> <br />But I have a new problem. I usually turn off "tap" on the touchpad when using a USB mouse, as I invariably accidentally brush the touchpad when not meaning to. <br />However, this touchpad is not a Synaptics type, it is recognised as a mouse. I cannot see how to turn it off. <br /> <br />This is all too annoying. It seems that Intel have not bothered much with Linux support for the Cherry Trail SoCs, and things have moved on since then, new SoCs, so it looks like these issues might never get resolved? <br /> <br />I might take out my Quirky installation and restore the Win10 partition to fill the entire drive, and donate this laptop to a charity. Then buy one that is Linux-compatible. <br /> <br />It has to be small and light. There are some out there, I am thinking of Dell, that would be great, but pricey. <br /> Carryon computing Light I have an ongoing project to explore options to "travel light", be it by air, road or foot. <br /> <br />Various walking treks have been documented, with experiments carrying light-weight gear, such as these in 2016: <br />Trek #3: <a href=></a> <br />Trek #4: <a href=></a> <br /> <br />This year, 2017, I will be airborne, traveling within Australia and internationally. <br /> <br />The requirement this time is to carry enough computing gear to be able to continue with my Quirky Linux project, apart from normal Internet access. <br />I will be staying at places that do not have a room safe, so will need to think about security of my gear while away from my room. At times, I might even be in shared rooms. <br /> <br />I own an Asus E200HA baby laptop, and have Quirky Linux installed on it, sharing the internal 32GB solid state drive with Windows 10. Getting Quirky to work reasonably well on this computer has been a saga -- do a search for "E200HA" on my blog. <br /> <br />A Pacsafe Travelsafe 5L security bag is just right, takes my laptop, with room for a few more things, such as camera. I got together everything that I thought I would need, then split them into four categories: laptop+security bag, computer bag, power bag, and miscellaneous bag. <br />This is what it all looks like: <br /><img src= /> <br /> <br />The all-up weight is 3.3kg. Hmmm, if I want that to be in my carryon bag, which has a limit of 7kg, that leaves 3.7kg including weight of bag. <br /> <br />Looking inside each bag. By the way, those bags are from Kathmandu, Packngo "SX" size. This is what is in the computer bag: <br />Wi-fi router, USB mouse, bluetooth mouse, bluetooth keyboard, bluetooth speaker, Raspberry Pi3. The striped bag has SD-cards and USB Flash sticks. What got missed out of that photo, but is included, is a 1TB USB3 hard drive. This lot weighs 909gm: <br /><img src= /> <br /> <br />All three bluetooth devices are USB-rechargeable. <br /> <br />Ok, throwing in a photo of the 1TB USB drive. This will work with the laptop and the Pi3, though in the latter case a very beefy power supply is required. Here is the drive: <br /><img src= /> <br /> <br />Powering all of the devices is a problem. Partly because I will be traveling internationally, so will need to plug into various power sockets. Here is a photo of what I put together, weighing 699gm: <br /><img src= /> <br /> <br />There are three different power adaptors in that photo. At the bottom is the charger for my phone, though strictly not required, as the one above has multiple outputs, 1A and 2.1A and international adaptors. On the left is the adaptor for the laptop. <br /> <br />Also included in the bag is a small immersion rod, for boiling up water for cups of tea or coffee, or just to sterilise water when it is a bit dodgy. <br />There is also a double-adaptor and a couple of extra socket adaptors. <br /> <br />The miscellaneous bag has my camera, torch, and ear-piece. Both the camera and torch are USB-reachargeable. Weight is 280gm: <br /><img src= /> <br /> <br />Not all items listed above are essential, but I do want some leaway to experiment with the gear while traveling. Now thinking beyond, to definitely non-essential, but maybe good-to-have items. My luxury extras bag is 783gm: <br /><img src= /> <br /> <br />It contains a 5V 6A power supply for the Pi3, so as to be able to run the 1TB drive off the Pi3. Also, a USB optical drive, for creating live-CD Quirkies. <br /> <br />For the carryon bag, that extra "luxuries" bag is not going to make it. If I do have some check-in luggage, then yes, it can come. <br /> <br />Anyway, lots of fun getting this gear together! <br /> Quirky Xerus x86_64 8.1.6 released Linux This release of Quirky is codenamed "Xerus" and is built from Ubuntu 16.04 x86_64 binary packages. <br /> <br />The background, announcement and release notes are here: <br /><a href=></a> <br /> <br />A very brief announcement blurb: <br /> <br /><i>Quirky Linux 8.1.6 x86_64 is codenamed "Xerus" and is built using the woofQ Quirky Linux build system, with the help of Ubuntu 16.04 binary packages. Thus, Xerus has compatibility with all of the Ubuntu repositories. <br />The Linux kernel is version 4.4.40 and SeaMonkey is upgraded to version 2.46. <br />Quirky is a fork of Puppy Linux, and is mainly differentiated by being a "full installation" only, with special snapshot and recovery features, and Service Pack upgrades.</i> <br /> <br />Instructions to install are here: <br /><a href=></a> <br /> <br />Quoting from the above link: <br /> <br /><i>Quirky is provided as a 8GB USB Flash stick image, or for an SD-card. This file may be written to an 8GB or greater Flash stick. In the latter case, at first bootup there will be an offer to increase the filesystem to fill the drive.</i> <br /> <br />Very easy install instructions for Windows users. The above link explains how to install from the commandline in Linux, though I intend to develop a simple GUI. <br /> <br />For those who still want one, there is also a live-CD ISO file. <br /> <br /><b>Download</b> <br />The primary download host is Ibiblio: <br /><a href=></a> <br /> <br />There are faster mirrors, such as NLUUG: <br /><a href=></a> <br /> <br />You will notice that the Flash-stick image file is 502MB, whereas the ISO file is 398MB. The reason it is so large (by Puppy standards) is because it is gzip compressed. The same file xz-compressed is only 333MB. <br />Gzip compression is used as that is understood by many Windows image-writer applications. The *.img.gz file is very easy to install for Windows users. <br /> <br />The live-CD ISO is 398MB. It is smaller because internally it uses xz compression. <br /> <br /><b>Setup notes</b> <br />Please do think about the <b>security</b> of your Quirky. When QuickSetup is running, you will see a button to manage daemons. You can also run this from the menu, System -> Bootmanager -> Manage system services. <br />I recommend disable all daemons that you don't immediately need. <br />Also, tick the checkbox for a firewall. Leave the firewall at defaults to block all ports. <br /> <br />You might find that the <b>keyboard layout</b> choices in QuickSetup don't quite meet your country/language/region requirements. Never mind, make the best choice, then later click the "setup" icon on the desktop, and you will find an "Advanced Xorg keyboard configurator", to fine-tune the keyboard localization. <br /> <br /><b>Issues</b> <br />There are some known issues. <br /> <br />1. There is Bluetooth support, but it needs work. <br />2. SeaMonkey has a few problems. It is stuck on DuckDuckGo for starters. <br />3. CLI VLC only. A full GUI video player needs to be installed. <br /> <br />Regarding SeaMonkey, it is version 2.46. The SM developers released 2.40 in March 2016, then nothing until 2.46 was released at the end of December 2016. Perhaps they were under pressure to get something out. Whatever, 2.46 has some issues, mostly annoyances. <br /> <br />Choice of video player is left up to the user for now. Here are instructions on how to install Xine or VLC: <br /><a href=></a> <br /> <br />Feedback is invited to choose the "best" and hopefully small, video player for inclusion in the next minor-point release. <br /> <br />Forum thread for feedback: <br /><a href=></a> <br /> Xine or VLC for Xerus64 Linux I am just about to upload Quirky Xerus x86_64 8.1.6. <br /> <br />It is working very well, except that the media player is broken. The commandline VLC player is installed, but GUI components are missing. There is a GUI, called SimpleVP, however that is currently not working properly. <br /> <br />Fortunately, working video players can be installed from the Ubuntu package repositories. <br /> <br />These are advance instructions, for after Xerus64 8.1.6 is released. <br /> <br /><b>Xine</b> <br />This is small, with few dependencies. <br />Run the Puppy Package Manager, and type "xine-ui" in the search-box. <br />It will be found in the "universe" repository. <br />Click on the button to find all dependencies, then choose to install them all. <br /> <br />Also install "libcrystalhd3", found in the "universe" repo, and "libnuma" found in the "main" repo. <br /> <br />Type "xine" in a terminal to run it, or it is in the Multimedia menu. <br /> <br /><b>VLC</b> <br />The problem is that VLC is already installed, but it is missing extra packages to run as a GUI application. Unfortunately, the Package Manager won't reinstall it and it's deps. <br /> <br />However, it can be tricked to do so. Open file /root/.packages/Packages-ubuntu-xenial-universe in a text editor, and copy the line starting "vlc_2.2.2-5|vlc|2.2.2-5||Multimedia|..." down to the bottom of the file. <br />That is, just copy and paste. <br /> <br />Then edit the last line so that it looks like this: <br /> <br /><i>zvlc_2.2.2-5|zvlc|2.2.2-5||Multimedia|....</i> <br /> <br />That is, just change the name from "vlc" to "zvlc" in the first two fields. <br /> <br />Then run the Puppy Package Manager and do a search for "zvlc", click on it, click the button to find all deps, and install them. <br /> <br />Note, the list of deps is rather large, and if the window is too high for the screen, hold down the ALT key and drag with the mouse. This is a standard technique in Xorg for moving windows around. <br /> <br />VLC may be run by typing "vlc" in a terminal, or it is in the Multimedia menu. <br /> <br /><b>Default Applications Chooser</b> <br />You will find this in the Setup menu. You can choose "vlc" or "xine" as the default player. <br /> <br /><b>Which is best?</b> <br />OK, it is a bit of a hack described above to install VLC! I intend to choose a working multimedia player for inclusion in the next minor-point release of Xerus64. Feedback will be invited on the Puppy Forum as to which one, Xine, VLC, or some other, works best. <br /> <br />I prefer Xine from the size point of view, but does it play most/enough video formats? <br /> Overlayfs cannot handle zram Linux I have moved from aufs to overlay filesystem (it used to be named <i>overlayfs</i>, but they changed the name to just <i>overlay</i>, which is a very strange decision). <br /> <br />The documentation for overlay states that direct writes to the lower layers is forbidden, so that rules it out for Puppy Linux. <br /> <br />However, usage in Quirky does not require writes to lower layers, so overlay looks good. <br /> <br />Except that I have just run into a brick wall. I have discovered that overlay cannot handle the upper rw layer being a zram. <br /> <br />A zram is used for the live-CD. I thought that I had done everything correctly, however the 'init' script in the initramfs was failing, the kernel crashing. <br /> <br />I setup an experiment. Created folders just like in the initramfs: q_ro/q_sfs, q_rw, tempwork, q_new. <br /> <br />Using the same busybox from the initramfs, this works: <br /><i># ./busybox mount -t overlay -o lowerdir=./q_ro/q_sfs,upperdir=./q_rw,workdir=./tempwork overlay ./q_new</i> <br /> <br />Then, mounting a squashfs file on the ro layer: <br /><i># ./busybox umount ./q_new <br /># ./busybox mount -t squashfs ./q_ro/q.sfs ./q_ro/q_sfs <br /># ./busybox mount -t overlay -o lowerdir=./q_ro/q_sfs,upperdir=./q_rw,workdir=./tempwork overlay ./q_new</i> <br /> <br />Success again. Now create a zram: <br /><i># ./busybox umount ./q_new <br /># ALLOCK=1000 <br /># USEK=500 <br /># echo "${ALLOCK}K" > /sys/block/zram0/disksize <br /># echo "${USEK}K" > /sys/block/zram0/mem_limit <br /># mkfs.ext2 -m 0 -L qrw /dev/zram0 <br /># mount -t ext2 /dev/zram0 ./q_rw</i> <br /> <br />And try again: <br /><i># busybox mount -t overlay -o lowerdir=./q_ro/q_sfs,upperdir=./q_rw,workdir=./tempwork overlay ./q_new <br />mount: mounting overlay on ./q_new failed: Invalid argument</i> <br /> <br />Have I misunderstood something here? Do I have to go back to aufs? <br /> Quirky 8.1.6 x86_64 released Linux This new Quirky is codenamed "SlaQ" and is built from Slackware 14.2 binary packages. <br /> <br />The background, announcement and release notes are here: <br /><a href=></a> <br /> <br />A very brief announcement blurb: <br /> <br /><i>Quirky Linux 8.1.6 x86_64 is codenamed "SlaQ" and is built using the woofQ Quirky Linux build system, using Slackware 14.2 binary packages. Thus, SlaQ has compatibility with all of the Slackware repositories, including "slacky" and "salix". <br />Quirky is a fork of Puppy Linux, and is mainly differentiated by being a "full installation" only, with special snapshot and recovery features, and Service Pack upgrades.</i> <br /> <br />Instructions to install are here: <br /><a href=></a> <br /> <br />Quoting from the above link: <br /> <br /><i>SlaQ is provided as a 8GB USB Flash stick image, or for an SD-card. This file may be written to an 8GB or greater Flash stick. In the latter case, at first bootup there will be an offer to increase the filesystem to fill the drive.</i> <br /> <br />Very easy install instructions for Windows users. The above link explains how to install from the commandline in Linux, though I intend to develop a simple GUI. <br /> <br />For those who still want one, there is also a live-CD ISO file. <br /> <br /><b>Download</b> <br />The primary download host is Ibiblio: <br /><a href=></a> <br /> <br />There are faster mirrors, such as NLUUG: <br /><a href=></a> <br /> <br />You will notice that the Flash-stick image file is 398MB. The reason it is so large (by Puppy standards) is because it is gzip compressed. The same file xz-compressed is only 238MB. <br />Gzip compression is used as that is understood by many Windows image-writer applications. The *.img.gz file is very easy to install for Windows users. <br /> <br />The live-CD ISO is 304MB. It is smaller because internally it uses xz compression. <br /> <br /><b>Issues</b> <br />There are some known issues. <br /> <br />1. There is Bluetooth support, but it needs work. <br />2. SeaMonkey has a few problems. It is stuck on DuckDuckGo for starters. <br />3. Paste into a terminal, does not wrap. <br /> <br />Also, the build does not have Samba. Nor python, but v2.7 is in the "devx" PET. <br /> <br />Regarding SeaMonkey, it is version 2.46. The SM developers released 2.40 in March 2016, then nothing until 2.46 was released at the end of December 2016. Perhaps they were under pressure to get something out. Whatever, 2.46 has multiple issues, mostly annoyances. <br /> Partition resize was broken Linux At first bootup of Quirky on the Raspberry Pi, QuickSetup runs. This is a GUI to quickly make basic configuration choices. <br /> <br />One thing it does is check if there is unused space at the end of the drive. This will occur if the drive is bigger than the image-file written to it. Quirky is supplied as a compressed image file, that expands to a nominal 8GB -- but it is actually a bit smaller, so as to fit on any "8GB" SD-card. <br /> <br />So even on an 8GB card there is going to be a bit of unused space at the end. Much more so if you use a 16GB or 32GB SD-card. <br /> <br />QuickSetup checks if there is more than a few hundred MB empty space at the end of the drive, and if so, offers to resize the Quirky partition to fill the entire drive. <br /> <br />OK, this works on the Pi. However, I discovered yesterday that it does not work on a PC. The reason is, I supplied Quirky Xerus 8.1.5 x86_64 as a 8GB USB Flash stick image, with a GPT (Guid Partition Table). <br /> <br />The partition resizing fails with a GPT, due to the use of Busybox 'fdisk'. My "easyinit" ramdisk has Busybox in it, compiled statically. I have written about Easyinit in earlier posts. <br /> <br />However, the full 'fdisk' utility, in the 'util-linux' package, can handle the partition resizing in a drive with GPT. <br /> <br />I have compiled fdisk statically in Buildroot, so have added that to Easyinit. <br /> <br />This fix applies to Quirky Xerus and the soon-to-be-released SlaQ X86_64 Linux distributions. <br /> Win10 locked me out Linux Windows 10 continues to be a less than optimal experience for me. <br /> <br />I haven't been able to upgrade since June 2016. I used to be able to upgrade, but no longer. When I click the button to check for upgrades, it just reports there was an error, and provides a code that I am to give to Customer Support. <br /> <br />My Asus E200HA came with Win10, I only purchased it this year. Haven't messed around with it much, just installed a few apps, and shrank the partition (using Microsoft's own partition management tool). <br /> <br />Annoying, yes. I do not want to phone Customer Support and wait in a queue. <br /> <br />Then, last night, Win10 wouldn't let me in, with this message: <br /> <br /><i>This device has been locked for security reasons. Connect your device to a power source for at least two hours, and then restart it to try again</i> <br /> <br />What, locked out of my own computer! What nerve MS has!!! <br /> <br />This problem is discussed here: <br /><a href=></a> <br /> <br /> ROX-Filer frozen on E200HA Linux Ha ha, the saga continues with my Asus E200HA! Yesterday I posted about fixing the keyboard, again: <br /><a href=></a> <br /> <br />I then created what I thought was going to be the release version of SlaQ, booted up on the E200HA, all seemed OK, but after a few minutes, ROX-Filer locked up. Everything else kept working. I noticed CPU usage climbing precariously, so shutdown. <br /> <br />Have used SlaQ on the E200HA a few times since then, Rox has been OK. Hmmm... <br /> <br />I am using an old version of ROX-Filer that was compiled in T2. I notice that Fatdog is using more recent source: <br /><a href=></a> <br /> <br />...this is a fork of the original project, which is mostly dead. <br /> <br />OK, I will compile it in SlaQ, and hope it performs better. <br /> E200HA keyboard dead again Linux Sigh... <br /> <br />I thought that SlaQ is ready for release, but have learnt a little bit of prudence and patience is essential, so thought had better test it on other computers than my main work laptop. <br /> <br />So, plugged the SlaQ USB stick into my Asus E200HA baby laptop, and... no sound, no keyboard. <br /> <br />The no-sound I know about, and there is a fix on the horizon, as I posted about recently: <br /><a href=></a> <br /> <br />But the keyboard. That was dead way back, early 2016, and I posted a fix: <br /><a href=></a> <br /> <br />...the problem is, I did not identify just what kernel config option did the trick. Furthermore, I have used that config file as the template for compiling later kernels, so why now does the 4.8.15 kernel fail me? <br /> <br />Today I will have to carefully compare kernel config files! And probably have another go compiling 4.8.15. One does hope that the kernel developers haven't changed something that has rendered my E200HA keyboard inoperative. <br /> a2dp-alsa for Bluetooth audio Linux Puppy Forum member 'fr33land' has undertaken a great new initiative, Bluetooth support in Puppy Linux: <br /><a href=></a> <br /> <br />There have been other efforts, my own, named BluePup, found in the latest releases of Quirky x86_64 and Raspberry Pi, and Forum member 'rcrsn51' created peasyBT. <br /> <br />jamesbond has done excellent work with Bluetooth, and has created a utility, 'a2dp-alsa', that fr33land is using. It is described here: <br /><a href=></a> <br /> <br />I obtained the source of a2dp-alsa from here: <br /><a href=></a> <br /> <br />However, I then discovered that a2dp-alsa only works with bluez version 4.x. Right now, I am running SlaQ, a Quirky built from Slackware 14.2 binary packages, and bluez is version 5.4. <br /> <br />Phillip Berndt to the rescue. He has posted a patch for a2dp-alsa to support bluez5: <br /><a href=></a> <br /> <br />I have compiled it and created a PET, but not yet tested. I have uploaded the source and patch here: <br /><a href=></a> <br /> Xkb Configuration Manager fixed Linux The Advanced Xorg Keyboard Configuration Manager is an old script, written by Puppy Forum member Dougal, around 2009 I think. <br /> <br />Since then, Puppy Forum member rodin internationalised it, and I made some small modifications. The last release was version 1.2, about 2013: <br /><a href=></a> <br /> <br />The problem is, it is designed for the keyboard information to be in /etc/X11/xorg.conf, however, these days we are moving to configuration files in folder /etc/X11/xorg.conf.d <br /> <br />Quirky 8.1.4+ has the keyboard settings in file /etc/X11/xorg.conf.d/10-evdev-puppy.conf. <br /> <br />I have modified Xkb Configuration Manager to work with the old xorg.conf and the new 10-evdev-puppy.conf. I decided not to "burn my bridges", just in case I every want to go back to the old way of doing things. <br /> <br />I decided that Xkb Configuration Manager should be built-in to woofQ, not a separate PET. <br /> <br />If anyone wants to see the new code, it is in /usr/local/apps/XkbConfigurationManager, and can be seen in the next release of Quirky. <br /> Keep on finding bugs Linux Bugs keep getting unearthed, even in code that has been working OK for years. <br /> <br /><b>Desktop icons</b> <br />First though, a mention of icon sets. Yesterday I installed the Oranchelo and Sarai icon set PETs. After selecting them, I discovered that there were no icons in the JWM menu. <br />This is because the developer renamed SVG icons with .png extensions. <br />I have sent a PM to the developer, with advise how to fix this. He will have to fix and re-upload those PETs. <br /> <br /><b>Package installing</b> <br />/usr/local/petget is where all the scripts are for the PPM (Package Manager). <br />Yesterday, I installed a PET that has /lib and /lib64 folders in it, where /lib64 is a symlink to /lib <br />Yikes, in my SlaQ Quirky, which has /lib64 NOT a symlink, it got wiped out and a symlink /lib64 to /lib created. <br /> <br />This is obviously dangerous behaviour! Yet the code has been there for years. In my woofQ, until yesterday anyway, and yep, still in woof-CE: <br /><a href=></a> <br /> <br />...look at line 343 onwards, that is where the naughty code is. I don't know what my thinking was at the time. Anyway, i have deleted the entire if - else -fi, from lines 344 to 367. <br /> <br />The woof-CE and woofQ 'petget' scripts have changed a lot since forking from Woof2, my woofQ scripts are going in their own direction. However, they both have that section of offending code. <br /> SlaQ Linux x86_64 progress Linux I posted about a new project, SlaQ Linux: <br /><a href=></a> <br /> <br />Well, I have scratched the itch. Wanted to do a build in woofQ based on Slackware packages. The problem is, a new build like this, lots of bugs get discovered, and it goes on, day after day, finding and fixing things. <br /> <br />One bug I have not fixed: Notecase personal information manager 0.9.8, the last open source version, cannot load images from the gtk theme. Looks like the source will have to be patched. Curious, as no other app has this problem. Also, Notecase works fine in Quirky Xerus64. <br /> <br />A small list of things still to fix. <br /> <br />What I am trying to do is create a distribution that is only about 200MB download. This was one reason why I chose Slackware, thought that there will be less dependencies. <br /> <br />Will I release it? Maybe. If it looks pretty solid in the next couple of days, I can upload it, for anyone who is interested. <br /> <br /> The Minimum Profit editor Linux Hmmm, I have just discovered that MP (Minimum Profit) console text editor, does not work properly in recent builds of Quirky. I discovered that the menu does not work in my latest project, SlaQ (Quirky built from Slackware 14.2 packages). Just now tested in Quirky x86_64 8.0, which was released March or April 2016, same problem. <br /> <br />MP is a great little text editor that you can run in a terminal window, or full-screen without X. It is a lot "better" than the simple editors such as 'nano', arguably better than the more sophisticated ones such as 'vim' due to it's ease of use. <br />It's main attractive features are the nice drop-down menus, and colour syntax highlighting. <br /> <br />I use an old version of MP, 3.2.13. This is written in C and uses ncurses. There was a 3.3.x series, but I found it to be very broken. The MP website still has the source for 3.2.13 and the last 3.3.x, and I checked, compiled 3.3.x, still broken. <br /> <br />I should clarify something. MP also has an optional GTK interface, however, I personally found it to be awful, and I only use the console version. <br /> <br />The author of MP developed an embedded scripting language, and even rewrote part of MP in that language. This became the 5.x series, and it looks a lot more complicated. Also, for me, it doesn't work. Today I compiled the latest, did the normal "make install" and tried to execute "mp-5" but it complained could not find a core script and failed to start. <br /> <br />Anyway, I am really only interested in the original C console version, as it is feature-packed and very small. A single executable, about 120KB. <br /> <br />I looked back in my Quirky versions, to find when MP did actually work properly. Yep, works in April 7.2.1 x86, strange, the menu is partly broken in April 7.2 x86_64 (left and right arrow keys do not work in the menu). <br /> <br />I suspect the problem is something to do with ncurses. Anyway, I compiled MP statically in April 7.2.1 x86. This static MP works in later Quirkies. It is only a 32-bit application, but will run in x86_64 distros as it is static, does not require any libraries. <br /> <br />The price paid for this is size. The uncompressed binary executable has grown from about 120KB to 820KB. This is linked with glibc -- I did try to do it in Buildroot, with uClibc, but got errors and didn't feel inclined to chase them down -- maybe some other time. <br /> <br />...maybe technosaurus can tackle that one! He is our Puppy Forum developer who is a wiz at doing things like that. Especially compiling things static and small. <br /> <br />I will make my static MP into a PET and use in future builds of Quirky. It will work in all x86 (32-bit) and x86_64 quirkies, including the new SlaQ. Will upload the PET soon. <br /> <br />Here is the MP website: <br /><a href=></a> <br /> <br />The old sources are here: <br /><a href=></a> <br /> <br />...there is also version 3.1.11. I think that this is for 8-bit ASCII ncurses, whereas 3.2.x supports ncursesw (wide character). <br /> Building SlaQ in woofQ Linux WoofQ, like the Woof* builders for Puppy Linux, is the build system for Quirky. <br /> <br />With woofQ, I have mostly built Quirky from Ubuntu binary DEBs. However, I am now doing a x86_64 build based on Slackware 14.2 packages. <br /> <br />It feels good to be working with binary packages that haven't been "messed around", intact, whole, just as their developer's intended them. In contrast to the meddling done by Debian and Ubuntu distribution designers, not just to packages, but the entire filesystem. <br /> <br />WoofQ has needed some fixes though: <br /> <br />The script '0setup' converts the Slackware package database to Puppy-format. I fixed this, and greatly improved the conversion speed. <br /> <br />The script '2createpackages' will execute a post-install script found in a Slackware package. This needed some fixing. In particular, use of overlayfs instead of aufs. <br /> <br />Right now, ready to run '2createpackages' to build all the packages to be used in Quirky. But, life is interrupting, have to do other things, will get back onto it this evening. <br /> <br />I have tentatively named this Slackware-based Quirky "SlaQ". Yeah, I could have named it "SlaQware", but decided that is going to far. <br /> <br />There is likely to be a build for the Pi too. <br /> Quirky 8.1.5 x86_64 released Linux My, how time flies! The previous release of Quirky for x86_64 desktop PCs and laptops, was version 8.0, on April 21, 2016: <br /><a href=></a> <br /> <br />Since then, some of my time has gone into porting Quirky to the Raspberry Pi2 and Pi3. The most recent release is 8.1.4, on December 13, 2016: <br /><a href=></a> <br /> <br />WoofQ is the build system for building Quirky, and this has undergone significant infrastructure improvements. The release of 8.1.5 for the x86_64 CPU brings these infrastructure improvements, plus some package upgrades. Short announcement blurb: <br /> <br /><i>Quirky Linux 8.1.5 is released for x86_64 CPUs. This is codenamed "Xerus", as it has binary compatibility with Ubuntu 16.04 package repositories. This means that Quirky is able to install DEB packages from these repositories. <br />Other than that, Quirky is in no way similar to Ubuntu! <br /> <br />8.1.5 has Linux kernel 4.8.8, SeaMonkey 2.40, Libreoffice 5.1.2, and a host of applications to fill every need. As per inheritance from Puppy Linux, Quirky includes the "kitchen sink" in a very small download. <br /> <br />Significant new features for 8.1.5 are mostly in the infrastructure, underlying improvements that you might not immediately notice. There have not been many package upgrades, however one major change is the removal of Abiword and Gnumeric, replaced with Libreoffice.</i> <br /> <br />The full release announcement and notes are here: <br /><a href=></a> <br />...a bit brief, but I am in "Christmas mode" right now. <br /> <br /><b>Installation</b> <br />If you already have Quirky 8.0 installed, there is a Service Pack PET to upgrade. Unfortunately, due to the kernel upgrade and change to Libreoffice, this PET is rather big, at 186MB. <br />There should be an automatic offer to install the Service Pack when you run the Package Manager, or you can probe for new Service Packs via the menu "Filesystem -> Quirky Version Upgrade Manager". <br />Or, you can download it: <br /><a href=></a> <br /> <br />For everyone else, read these installation instructions: <br /><a href=></a> <br /> <br />Please try to move on from "legacy" optical media! Read this: <br /><a href=></a> <br /> <br /><b>Download</b> <br />Primary site, courtesy of Ibiblio: <br /><a href=></a> <br /> <br />There are faster mirrors, such as courtesy of NLUUG (at time of writing, 8.1.5 has not yet propagated through): <br /><a href=></a> <br /> <br /><b>devx</b> <br />For compiling source packages, you will need this PET (216MB): <br /><a href=></a> <br /> <br />And if you need the kernel source (140MB): <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />All bug reports and any feedback and discussion, can go here, from page 21: <br /><a href=></a> <br /> Sound coming for my laptop Linux Yippee! <br /> <br />I wrote about my Asus E200HA baby laptop back in March 2016: <br /><a href=></a> <br /> <br />At first, wi-fi, keyboard and sound were broken, however, I fixed the first two: <br /><a href=></a> <br /> <br />Now, finally, it looks like sound is going to be fixed: <br /><a href=></a> <br /> <br />This is great news for all of us with Cherry Trail SoC tablets and laptops. <br /> <br />Now, there is still a problem with the USB3 interface... <br /> Headless Pi3 with X11vnc Linux Right now, I have the full desktop of my Pi3 on my laptop. It was very easy to do, steps documented here. <br /> <br />To get going, I am trying the absolute simplest way of doing it. Not using ssh. On the Pi3 I am running the 'x11vnc' daemon, on the laptop running 'gvncviewer'. That's it. <br /> <br /><b>Step 1: compile x11vnc</b> <br />Puppy Forum member 'goingnuts' showed me how to compile an old version of x11vnc. This would be good if I wanted to create a static executable in a uClibc or Musl environment. But I am just running Quirky Xerus64 armv7 8.1.4 on my Pi3, so have glibc. <br /> <br />I downloaded the old x11vnc from here: <br /><a href=></a> <br /> <br />I modified the instructions from goingnuts, compiled it like this: <br /><pre><code>#!/bin/sh <br />CC_GLOBAL='gcc' <br />INCDIR='/usr/include' <br />LIBDIR='/usr/lib' <br />for x in libvncserver/auth.c libvncserver/d3des.c libvncserver/main.c libvncserver/sockets.c libvncserver/zlib.c libvncserver/cargs.c libvncserver/draw.c libvncserver/rfbregion.c libvncserver/stats.c libvncserver/zrle.c libvncserver/corre.c libvncserver/font.c libvncserver/rfbserver.c libvncserver/tight.c libvncserver/zrleoutstream.c libvncserver/cursor.c libvncserver/hextile.c libvncserver/rre.c libvncserver/translate.c libvncserver/zrlepalettehelper.c libvncserver/cutpaste.c libvncserver/httpd.c libvncserver/selbox.c libvncserver/vncauth.c x11vnc/*.c; do <br /> echo $x <br /> ${CC_GLOBAL} -c ${CFLAGS_GLOBAL} -I. -I../ -I./libvncserver -I./x11vnc -I./rfb -I$INCDIR $x <br />done <br />${CC_GLOBAL} -I .. $LDFLAGS_GLOBAL -o x11vnc/x11vnc *.o -L$LIBDIR -lXinerama -lXtst -lXext -lX11 -lpthread -ljpeg -lz</code></pre>< <br /> <br />A binary x11vnc/x11vnc got created, that I copied to /usr/bin. <br /> <br /><b>Step 2: check wi-fi network</b> <br />My Pi3 has a wi-fi hotspot already setup, as documented here: <br /><a href=></a> <br /> <br />...however, for now I am not using dropbear. <br /> <br />Just checking my IP address on the Pi: <br /><pre><code># ifconfig <br />eth0 Link encap:Ethernet HWaddr B8:XX:EB:38:02:BA <br /> inet addr: Bcast: Mask:</code></pre>< <br /> <br /><b>Step 3: Run x11vnc daemon</b> <br />Now, start the x11vnc daemon: <br /><pre><code># x11vnc <br />20/12/2016 20:09:42 Using X display with 32bpp depth=24 true color <br />20/12/2016 20:09:42 Autoprobing TCP port <br />20/12/2016 20:09:42 Autoprobing selected port 5900 <br />20/12/2016 20:09:42 screen setup finished. <br />20/12/2016 20:09:42 The VNC desktop is puppypc13817:0 <br />PORT=5900</code></pre>< <br /> <br /><b>Step 4: Compile vnc client on laptop</b> <br />It is confusing, as there are two different products named gvncviewer. One of them is written in Python, requiring py-gtk. There is another written in C, for gtk, and that is what I am using. The latter is a package called 'gtk-vnc', that I downloaded from here: <br /><a href=></a> <br /> <br />Unfortunately, I have also read on some websites, the name 'gtk vnc' being used for the Python version. Oh well. <br /> <br />This is how I configured it: <br /><pre><code># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --with-sasl --without-pulseaudio --with-examples --without-python --with-gtk=2.0 --disable-vala --enable-introspection=no</code></pre>< <br /> <br />The "--with-examples" is required, and that will build the 'gvncviewer' binary. <br /> <br /><b>Step 4: Run vnc client on laptop</b> <br />After installing gvncviewer, it can be run: <br /><pre><code># gvncviewer</code></pre>< <br /> <br />Yes, up comes the entire Pi3 desktop on my laptop! <br /> <br /><b>Step 5: ssh tunneling?</b> <br />That would be the obvious next thing, to run dropbear ssh server on the Pi3, and tunnel x11vnc through it. <br />I am not in any hurry to do it, as I am only doing this on a wi-fi network within my house, well, the signal hardly reaches outside my room. Doing it without an Internet connection. <br /> <br /><b>PETs</b> <br />I have uploaded the x11vnc PET packages (112KB, 118KB): <br /><a href=></a> <br /><a href=></a> <br /> <br />They have a script, /etc/init.d/zz-x11vnc, which will start x11vnc daemon at bootup. It is a bit crude, waiting 10 seconds for X to start, before starting the daemon. <br /> <br />...oops, have just realised, the line invoking x11vnc inside the startup script, should have an "&" inside it. Will fix. <br /> <br />I am thinking in the future, I might include 'xinetd' in Quirky builds. It is known as a "super server" and is a way of starting other servers on demand. It could be used to start x11vnc and dropbear. <br /> <br />xinetd man page: <br /><a href=></a> <br /> <br /><b>Pros and cons of x11vnc</b> <br />The method that I documented earlier, with ssh daemon running on the Pi3 and ssh client on the laptop, has the great advantage of speed. It uses the X server of the laptop. <br /> <br />X11vnc, on the otherhand, does it all remotely, and it very slow. However, the advantage is seeing the entire desktop. <br /> <br />The ssh-server-client method has an advantage that X does not need to be running on the Pi. This is useful for testing purposes if X is broken on the Pi. <br /> pUPnGO and Buildroot Linux I have been using Buildroot recently, to compile applications statically with uclibc-ng. Buildroot is great, but it has one major shortcoming -- it cannot create a chrootable self-compiling toolchain. <br /> <br />That is, you can't use it to compile packages for, say, a small Puppy Linux, and create a "devx" PET. Well, not officially that is -- Puppy Forum member goingnuts has done it. <br /> <br />For years I have been fascinated with what goingnuts (Kim) is doing. Really going back to the basics and creating tiny applications and distros. <br /> <br />I need to find out how he has done this trick with buildroot! So, I have downloaded everything needed to get going. Instructions and download links here: <br /><a href=></a> <br /> <br />There are a couple of other guys who are wizards in this simple/small/basic resurrection-of-old-stuff, technosaurus and Iguleder. I think that Iguleder is also known as 'dimkr' elsewhere. <br /> <br />For example, I posted about work done by Iguleder: <br /><a href=></a> <br /> <br />Here are a couple of pUPnGO threads on the Puppy Forum: <br /><a href=></a> <br /><a href=></a> <br /> Running the Pi3 headless Linux I posted yesterday about the Dropbear SSH server: <br /><a href=></a> <br /> <br />Also about automatic activation of the ethernet connection at first bootup: <br /><a href=></a> <br /> <br />With the Pi3 running, and the dropbear server daemon running on it, waiting on port 22, and an active ethernet connection to my wireless router, I should be able to login from my laptop. <br /> <br />The wireless router I am using is a tiny one suitable for travellers, the TP-Link TL-WR802N (cost me AU$29 at a local store): <br /><a href=></a> <br /><img src= /> <br /> <br />The TL-WR802N was recommended to me by Puppy Forum member jamesbond. Yeah, it is nice. I changed the configuration to "Access Point" mode. <br /> <br />On my baby laptop, running Windows 10, mobaXterm makes it easy. I had to do a scan to find what IP-address the dhcp server inside the router has assigned to the Pi3. Then started a terminal session. <br /> <br />Running Quirky linux on the same baby laptop, not quite so simple. I used a little commandline utility called 'multiscan', and it reported this IP address: <br /> <br />> multiscan -t -s 22 -e 22 <br /> (ssh) is open <br /> <br />Then to run a session: <br /> <br />> ssh -X -l root -p 22 <br /> <br />It asks for the password, which is the default for most pups, "woofwoof", and I am in. <br /> <br />Unfortunately, there is a gotcha. If I type "leafpad", I get leafpad running, then if I choose "File -> Open...", I am able to open files in the Pi. <br /> <br />Fine, however, if I type "rox" in the terminal session, it opens the filesystem of my laptop. Wrong, wrong, wrong! <br /> <br />Over in Windows, running mobaXterm, "rox" behaves as expected, showing files in the Pi. <br /> <br />This is not a good situation, not for Linux on my laptop anyway. <br /> Dropbear ssh server PETs Linux In recent posts I have mentioned running my Pi3 "headless". <br /> <br />To do this, I needed a SSH server, and chose Dropbear. <br /> <br />Here are the PET packages, for armv7, x6 and x86_64 (261K, 231K, 232K): <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />The last two are compiled statically in Buildroot, and yes, they are smaller than the one compiled with shared libs. But that is partly because the static ones were compiled as a single executable (like busybox). <br /> <br />The good thing about the static PETs is they will work on any old pup. Note, it does expect existence of /lib/lsb/init-functions, which are from Debian, slightly modified. <br /> Active ethernet at first boot Linux In the last post, I mentioned running my Pi3 "headless". I will write more about that, but right now, a little precursor fix. <br /> <br />Quirky, and Puppy, detects if an active ethernet cable is plugged in at the very first bootup. The idea being that you will then have network access automatically, without having to setup anything. <br /> <br />/etc/rc.d/rc.sysinit calls /etc/ on the first bootup, which probes for an active ethernet connection. <br />This is very old code. Puppy forum member 'shinobar' wrote that piece of code in rc.sysinit, and 'Dougal' is responsible for most of the code in <br /> <br />For my headless setup, I have a wireless router connected to the Pi3 by ethernet cable. However, at bootup the active ethernet connection was not automatically detected. <br /> <br />I found problems in, so I have written a small replacement, /etc/rc.d/rc.network_eth, which only does one thing, detect an active ethernet connection and run 'dhcpcd'. <br /> <br />Now it works. This automatic setup is important, as I can control the Pi remotely without having to setup anything on the Pi. <br /> <br />Even X does not have to be running. MobaXterm on my laptop has its own X server. I have actually used this situation -- X is broken on the latest experimental build of Quirky. No problem, I was able to run any GUI applications on the Pi from my laptop. Which is a bit weird. <br /> Quirky installed on Asus E200HA Linux I bought this Asus E200HA baby laptop back in March 2016: <br /><a href=></a> <br /> <br />I wanted a machine with UEFI-firmware, for experimenting booting Quirky, but also as something compact to take on trips, for example with carry-on luggage on flights. <br /> <br />The guys on the Puppy Forum have been playing with various ways to run their Raspberry Pis "headless", controlled remotely from a desktop PC or laptop. <br />I also want to do this, as my Pi3 can then come along on trips, and I will be able to keep developing for it. <br />Anyway, that is another topic. Back onto Quirky and the E200HA story... <br /> <br />I knew before I purchased it, that there are some issues, such as sound not working, but I thought that they would get resolved in time, later kernels, etc. However, here we are in December, and I experimented with the 4.8.8 kernel, the same things are still broken. <br /> <br />It is not just sound. What has really made me unhappy is that the Linux kernel does not recognise the existence of an SD-card. The socket is there, and it works fine with Windows. <br /> <br />Which has kind of messed up my plans. The E200HA only has 32GB of solid state memory, of which about 11GB is free. <br />I do not want to have Quirky booting off a USB flash stick, as there are only two USB ports, besides, don't want something always sticking out. An SD-card is ruled out, so that only leaves the internal drive. <br /> <br />How I installed Quirky internally is very interesting. Here are the steps: <br /> <br /><b>1. Shrink drive C:</b> <br />Running Windows 10, I typed "Partition" in the search box, which quickly located the Partition Manager. Right-click on the C: drive and choose to shrink it by just over 5GB. <br /> <br /><b>2. Create new partitions</b> <br />Booted Quirky Xerus64 8.0 on USB flash-stick, ran GParted, created two primary partitions, 256MB fat32, and about 5GB ext4. These are identified as mmcblk0p5 and mmcblk0p6. <br />I set the "boot" and "esp" flags on mmcblk0p5. <br /> <br /><b>3. ext4 without journal</b> <br />GParted doesn't offer this, so after exiting GParted, ran this: <br /><i>mke2fs -t ext4 -O ^has_journal -L quirky2 -m 0 -b 4096 /dev/mmcblk0p6</i> <br /> <br /><b>4. Populate ESP boot partition</b> <br />I copied everything from the vfat partition of the USB flash-stick to mmcblkop5. <br />The only change needed is to edit syslinux.cfg and EFI/BOOT/syslinux.cfg and substitute the correct value for PARTUUID. I got it by running this: <br /><i>echo -e 'i\n6\nq' | ${PRE}gdisk /dev/mmcblk0</i> <br /> <br /><b>5. Install Quirky into mmcblk0p6</b> <br />I then ran the Setup -> Quirky Universal Installer, and chose a full installation to a hard drive partition. <br />As I am running Quirky 8.0, the installer wanted the xerus64-8.0.iso, that I had already placed on the flash stick. <br /> <br /><b>6. Configure UEFI booting</b> <br />I have documented how to configure the UEFI setup to boot from a Flash stick: <br /><a href=></a> <br />In this case, very interesting, the ESP fat32 partition that I created is identified as "Android-IA". Who cares, it works! <br /> <br />So, future bootups will always boot Quirky. If I should ever want to boot Windows, I will have to hold down the F2 key at power-on and make the change in the UEFI Ssetup. <br /> <br />This is a very interesting way of installing a Linux distro. It is completely non-invasive. No need for a special boot manager. If I delete my special ESP partition, the UEFI firmware will default back to normal Windows bootup. <br /> <br />One extra note about Linux compatibility. I have also discovered there is something wrong with the USB3 interface. The E200HA has one USB3 and one USB2 socket. The latter works fine, but getting strange behaviou with the former. For example, hanging when I plugged in a drive. <br /> <br />It is a pity that such a popular little laptop has so many Linux compatibility issues. It is a Cherry Tree CPU. One does live in hope that things will improve with upcoming kernels. <br /> Buildroot for easyinit Linux I have compiled utilities statically in Buildroot, using uClibc-ng, for armv7 (cortex-a7), x86 (pentium4) and x86_64 (nocoma). <br /> <br />These static utilities are now in woofQ, for building easyinit. <br /> <br />My host for compiling the armv7 binaries, was Quirky Xerus 8.1.3 in the Pi3. Buildroot was not happy with some of the Ubuntu headers, had to hack some. <br /> <br />For the x86 and x86_64 builds, my host was Quirky April 7.2.1, x86 and x86_64 hosts respectively. No trouble with the headers. <br /> <br />Note, I am going to build a T2-based Quirky for the Pi, see if Buildroot likes it's headers. Probably will. <br /> <br />Had to make some mods to the official buildroot, here it is: <br /><a href=></a> <br /> <br />It has .config files inside it for armv7, x86 and x86_64. Also some notes on compiling ntfs-3g and xdelta3. <br /> <br />After expanding, note that there is a folder "dl" which is a symlink to "../sources", so create that target. <br /> Quirky 8.1.4 for Pi2 and Pi3 Linux Quirky Linux "Xerus" 8.1.4 is released for the Raspberry Pi2 and Pi3. This is a minor-point release of Quirky 8.1, with important bug fixes and improvements. <br /> <br />Please read the release announcement for Quirky 8.1 here: <br /><a href=></a> <br /> <br />The full release notes for 8.1 are here: <br /><a href=></a> <br /> <br />Improvements since 8.1 can be discovered by reading this blog. Of particular note is the increment from to 8.1.4, which has introduced more robust fault recovery: <br /><a href=></a> <br /> <br /><b>Installation</b> <br />Download from here: <br /><a href=></a> <br /> <br />Installation instructions with important newbie notes: <br /><a href=></a> <br /> <br /><b>Upgrade</b> <br />If you already have Quirky Xerus running on the Pi, an earlier version, upgrade to 8.1.4 is available by small Service Pack PET package. <br />Starting the Package Manager (PPM) will automatically probe for availability of a Service Pack, or run from the menu: <br />Filesystem -> Quirky Version Upgrade Manager <br /> <br /><b>Compile</b> <br />If you need to compile source packages, install the "devx" PET. Run the PPM to install it, or directly from here (191MB): <br /><a href=></a> <br /> <br />Kernel source PET (288MB): <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />Post questions, interact with other keen users: <br /><a href=></a> <br /> Introducing easyinit Linux Quirky Linux is intended mostly as a "full installation", occupying an entire partition, the same as most other distributions. <br /> <br />Unlike most major distributions, such as Debian and Ubuntu, Quirky does not have an initramfs. Instead, there is a kernel boot parameter "root=/dev/<partition>" which boots straight to the installation of Quirky. This makes for faster booting, also, Debian and Ubuntu have enormous initramfs files, consisting of files that are duplicated in the installed partition. This creates a larger .iso file to download. <br /> <br />Note, however, some of the variants of Debian and Ubuntu designed for specialised targets such as the Raspberry Pi, do not have a initramfs, or a very small one. <br /> <br />If Quirky needs to perform a filesystem check, resize the filesystem, or a system rollback (recovery, see the Snapshot Manager in the menu), /sbin/init, the first boot script in the installation detects this need, and creates a ramdisk with a minimal Linux installed into it, then performs a pivot_root into it. Then this minimal Linux is able to perform the required operations upon the partition in which Quirky is installed. <br /> <br />The main problem with this mechanism is the potential lack of robustness. The minimal Linux is created in the ramdisk by copying files from Quirky. However, if Quirky is badly broken, there is a possibility that the ramdisk will be also. Hence a rollback might not work. <br /> <br />To make this mechanism more robust, I have been on a mini-coding-marathon for the last couple of days. There is now a ready-made mini-Linux, called 'easyinit'. This is made of static applications that I compiled in Buildroot, with uClibc. The applications include busybox, coreutils, e2fsprogs, ntfs-3g, xdelta3 and gettext. <br /> <br />The main feature of easyinit is it is very small. Unlike the Debian/Ubuntu initramfs' that have kernel modules, libraries, shared-library executables, and a large array of support files. <br /> <br />easyinit resides in /boot in the Quirky installation, and /sbin/init just copies it into a ramdisk and performs a pivot_root into it. <br /> <br />Most significantly, /sbin/init has been reduced greatly in size. It is now a very small and simple script. <br /> <br />The functionality to perform filesystem check, resize, and rollback (recovery), is done within easyinit, and this is broken into small simple scripts. <br /> <br />In easyinit, there is the frontend, /init, that executes first. This may call /sbin/rollback or /sbin/fscheck. <br /> <br />All of this has been written, not yet tested. <br /> <br /><b>Recovery for a totally broken system</b> <br />The above mechanism will work if Quirky is able to at least get past the kernel, and the first boot script, /sbin/init, is able to run. Busybox in the Quirky installation is compiled statically, so the script should run even if glibc is broken. <br /> <br />However, if the system is so broken that even /init will not run, I plan to implement a fallback, "Plan B". <br /> <br />easyinit is a cpio archive, and can quite easily become an initramfs. So, in the case of the Raspberry Pi SD-card, if easyinit is copied into the first (vfat) partition, and the "root=" parameter changed to "initrd=easyinit", then easyinit will load into RAM and perform the required recovery. <br /> <br />This needs a bit more coding to implement, but it does mean that even a hopelessly broken installation can be recovered. <br />It does though, require that there be at least one snapshot of the system, taken by the Snapshot Manager. <br /> T2 building small arm binaries Linux I posted yesterday about compiling 'xdelta3' statically in buildroot, native build on my Pi3: <br /><a href=></a> <br /> <br />The 'xdelta3' binary is very small. <br /> <br />Now T2 is running on my Pi3, building the same selection of packages as used in Quirky April x86, as described here: <br /><a href=></a> <br /> <br />The build is taking days. Quite literally, days. Right now, it is compiling some media libraries. I don't have a UPS, so hope the mains power supply doesn't hiccup. <br /> <br />I have just been comparing the sizes of executables compiled by T2 with those in my running Quirky host, which is based upon Ubuntu armhf DEBs. The T2 binaries are smaller, no always, but in majority of cases. <br /> <br />In the T2 configuration, I chose the "cortex-a8" ARM CPU, and enabled thumb instructions. <br />When compiling, T2 uses these options for gcc: <br /> <br /><i>-mcpu=cortex-a8 -mthumb -mthumb-interwork</i> <br /> <br />I thought maybe the thumb instructions is the reason for the smaller binaries, however, I googled and found that Ubuntu and Debian armhf DEBs also are built with thumb-2 support. <br /> <br />So, I don't know why T2 is building smaller binaries. <br /> <br />Anyway, I am having to "cool my heels". Want to compile in buildroot, but can't until T2 has finished. Some other work also has to wait. <br /> T2 on Pi3 now at Stage-3 Linux I reported yesterday that I was doing a native compile with T2 on my Raspberry Pi3: <br /><a href=></a> <br /> <br />I am actually using an old version of T2, used back in 2015 to create Quirky April, for x86. <br /> <br />T2 Stage-0 builds a cross-toolchain, and at Stage-2 onwards there is a chrootable target build environment, as explained here: <br /><a href=></a> <br /> <br />Stages 0 and 1 were a rough ride. Mostly due to Ubuntu's header files conflicting with what is being compiled in the target environment. <br />I posted some questions and fixes to the T2 mail-list: <br /><a href=></a> <br /> <br />However, there were lots of other nasty little hacks that I had to do. But finally got to Stage-2, and the going should be smoother, as the host headers won't interfere anymore. <br /> <br />I am typing on my Pi3 right now, even as it compiles. This Pi3 is fast enough to be a desktop replacement. <br />Right now, though, the CPU speed governor is set to "powersave", as I need to leave it unattended and would prefer to leave it running at a lower temperature. <br /> <br />I don't know if I want to do it, but if T2 does manage to compile most of the packages, I could build a Quirky April for the Pi. It would also be "T2 friendly", for any future T2 builds. <br /> Xdelta3 compiled statically in Pi3 Linux Yesterday I tried to compile Xdelta3 statically against dietlibc, running Quirky on my Raspberry Pi3. Gave up. <br /> <br />Quirky, and the pup before, uses an old version of xdelta, "30p". This, and later versions, are described on the developer's website: <br /><a href=></a> <br /> <br />There is a "30q" which has fixes for Windows, then there was a major version jump. The old 30p works fine, so I will stay with it. It also looks simpler to compile. <br /> <br />Previously, I have compiled it in a Landley x86 and x86_64 uClibc chrootable filesystems, so I know that it does link against uClibc OK. <br /> <br />Well, I have buildroot. using uClibc, where I have already been compiling packages statically, so far, busybox, e2fsprogs and coreutils. The problem is, buildroot does not have xdelta3. <br /> <br />Fortunately, I found someone else has added xdelta3, version 30q, to buildroot: <br /><a href=></a> <br /> <br />I modified that a bit, and put it into buildroot. I created folder package/xdelta3, with three files '', 'xdelta3.hash' and ''. <br /> <br /><b></b> <br /><pre><code>config BR2_PACKAGE_XDELTA3 <br /> bool "xdelta3 binary file difference" <br /> default y <br /> depends on BR2_PACKAGE_UCLIBC <br /> help <br /> The xdelta3 patch tool. Allows incremental update of binary files. <br /> <br /></code></pre>< <br /> <br />Note that the indents are tab character for first indent, second indent is two space characters. <br /> <br /><b>xdelta3.hash</b> <br /><pre><code>sha1 988f8d8f884aee31b5a0de0a4067575cb452543f xdelta30p.tar.bz2</code></pre>< <br /> <br /><b></b> <br /><pre><code>############################################################# <br /># <br /># xdelta3 <br /># <br />############################################################# <br />XDELTA3_VER:=0p <br />XDELTA3_SOURCE:=xdelta3$(XDELTA3_VER).tar.bz2 <br />XDELTA3_SRC=xdelta3.c <br />XDELTA3_SITE:= <br />XDELTA3_DIR:=$(BUILD_DIR)/xdelta3$(XDELTA3_VER) <br />XDELTA3_CAT:=bzcat <br />XDELTA3_BINARY:=xdelta3 <br />XDELTA3_TARGET_BINARY:=usr/sbin/xdelta3 <br />XDELTA3_CC_OPTS:=-DXD3_DEBUG=0 \ <br /> -DXD3_USE_LARGEFILE64=1 \ <br /> -DREGRESSION_TEST=0 \ <br /> -DSECONDARY_DJW=1 \ <br /> -DSECONDARY_FGK=1 \ <br /> -DXD3_MAIN=1 \ <br /> -DXD3_POSIX=1 <br /> <br /> <br />$(DL_DIR)/$(XDELTA3_SOURCE): <br /> $(WGET) -P $(DL_DIR) $(XDELTA3_SITE)/$(XDELTA3_SOURCE) <br /> <br />xdelta3-source: $(DL_DIR)/$(XDELTA3_SOURCE) <br /> <br />############################################################# <br /># <br /># build xdelta3 for use on the target system <br /># <br />############################################################# <br />$(XDELTA3_DIR)/.unpacked: $(DL_DIR)/$(XDELTA3_SOURCE) <br /> $(XDELTA3_CAT) $(DL_DIR)/$(XDELTA3_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - <br /> touch $(XDELTA3_DIR)/.unpacked <br /> <br />$(XDELTA3_DIR)/.configured: $(XDELTA3_DIR)/.unpacked <br /> touch $(XDELTA3_DIR)/.configured <br /> <br />$(XDELTA3_DIR)/$(XDELTA3_BINARY): $(XDELTA3_DIR)/.configured <br /> ${TARGET_CC} $(TARGET_CFLAGS) $(XDELTA3_CC_OPTS)\ <br /> ${XDELTA3_DIR}/${XDELTA3_SRC} -o ${XDELTA3_DIR}/${XDELTA3_BINARY} <br /> <br />$(TARGET_DIR)/$(XDELTA3_TARGET_BINARY): $(XDELTA3_DIR)/$(XDELTA3_BINARY) <br /> cp $(XDELTA3_DIR)/$(XDELTA3_BINARY) $(TARGET_DIR)/$(XDELTA3_TARGET_BINARY) <br /> <br /> <br />xdelta3: uclibc $(TARGET_DIR)/$(XDELTA3_TARGET_BINARY) <br /> <br />xdelta3-clean: <br /> $(MAKE) -C $(XDELTA3_DIR) clean <br /> <br />xdelta3-dirclean: <br /> rm -rf $(XDELTA3_DIR) <br /> <br />############################################################# <br /># <br /># Toplevel Makefile options <br /># <br />############################################################# <br />ifeq ($(strip $(BR2_PACKAGE_XDELTA3)),y) <br />TARGETS+=xdelta3 <br />endif</code></pre>< <br /> <br />Then, and entry has to be made in package/ <br /> <br />Finally, compile it: <br /><pre><code># make xdelta3</code></pre>< <br /> Heatsink for Pi3 Linux There has been some discussion on the Puppy Forum about heatsinks for the Raspberry Pi2 and Pi3. In particular, the aluminium case which also behaves as a heatsink for the CPU and RAM chips looks really great: <br /><a href=></a> <br /> <br />I bought some heatsinks from Cheap, but tiny little things, only 5mm high. Don't think they will be much use at reducing the temperature, so I purchased this one from Adafruit, 15x15x15mm: <br /><a href=></a> <br /><img src= /> <br /> <br />And here it is on my Pi3, along with a smaller one from <br /><img src= /> <br /> <br />Nice and warm to the fingers. HardInfo is telling me 46.1 degrees C. But ambient is very mild, and just using it lightly right now, web browsing. Will need to stress test it! <br /> T2 on the Raspberry Pi3 Linux I have used T2 to compile Puppy and Quirky from source, for i486, i686 and x86_64 target architectures. <br />In the Puppy days, there was Wary and Racy Puppy, with Quirky there was the April series. <br /> <br />I posted about the online Bones repository for T2, for building Quirky April, back in Jan. 2015: <br /><a href=></a> <br /> <br />The web page that introduces Bones and explains how to download T2 for April, is here: <br /><a href=></a> <br /> <br />I haven't looked at T2 much in the last couple of years, but one thing on my to-do list has been to try a native ARM build. <br /> <br />Which is what I am doing right now. Now that I have my 1TB hard drives working on the Pi3, there was my T2 project on the drive, tempting me to have a go. <br /> <br />I am using the old T2 in my Bones repository, rather than the latest from, as mine is heavily customised. Will think about upgrading T2 later. <br /> <br />I chose the "embedded" target in T2, and "cortex-a8" CPU as there isn't a "cortex-a7" option, nor anything else that looks reasonable for the Pi2 and Pi3. Sticking with 32-bit. <br /> <br />Let it run overnight, had to get up a few times to fix something. This morning, it is still in "Stage 0", which is the cross-toolchain building stage. But, it is doing well, I am actually quite surprised. <br /> Static e2fsprogs and coreutils on Pi2 Linux A little while ago, I posted about compiling Busybox statically against uClib using Buildroot on the Raspberry Pi2: <br /><a href=></a> <br /> <br />I am now having a go at compiling more packages statically, as I want to be able to create a fully-static recovery filesystem in Quirky. <br /> <br />The main one is busybox, got that. Next on the list is e2fsprogs and coreutils. <br /> <br />So, I went to buildroot again, the same build that compiled busybox, and ran "make menuconfig" to add e2fsprogs and coreutils. <br /> <br />Managed to compile them, both linked statically. Interestingly, coreutils created a single binary, similar to how busybox works. The coreutils binary is 800KB, which is actually smaller than the individual utilities that I normally use in a Quirky build (Quirky uses a cut-down set of utilities from coreutils, only ones for which busybox applets are not adequate). <br /> <br />Now that I have my 1TB drives running on the Pi3, inspiration has arrived to revisit T2. The primary motivation here is to compile dietlibc. <br /> <br />Dietlibc in Ubuntu is broken, or so it seems to me. The build in T2 is quite complicated, difficult to do outside of T2. So, I am now running T2 on my Pi3, intending to create a dietlibc binary package that I can use in Quirky builds. <br /> 1TB hard drives work on Pi3 Linux I haven't tested on my Pi2 yet, but hope to have the same success. I have a couple of 1TB hard drives, and both work on my Pi3. <br /> <br />Reason #1 for this success is I beefed up the power supply, with a 5V 6A supply, as explained earlier today: <br /><a href=></a> <br /> <br />After posting that, Paul ('pakt' in the Puppy Forum) sent me a message that the maximum current capability of the USB sockets can be increased from 600mA to 1.2A by doing this in the 'config.txt' file (in the vfat first partition): <br /> <br /><i>max_usb_current=1</i> <br /> <br />I own a Toshiba 1TB Canvio 2.5 inch USB3 hard drive, model DTP210, that is powered via the USB cable. It is specified to draw 900mA and the docs state that it will also work off a USB2 socket. <br /><a href=></a> <br /><img src= /> <br /> <br />I recently purchased (for AU$77 at Officeworks) a Seagate Expansion 1TB USB3 hard drive, model SRD0NF1. The docs also state that this will work off a USB2 socket. <br /><a href=></a> <br /><img src= /> <br /> <br />I am happy to report that both of these drives work on my Raspberry Pi3. I copied a 1.2GB file to and from, and md5sums were correct. <br /> <br />This is very good news. There is a 314GB PiDrive that has been especially designed to work with the Pi. But, why buy that when these very cheap 1TB drives work? A cynical person might think that someone thought up a bright idea to get rid of some old stock of 314GB drives. <br /> <br />On the otherhand, the PiDrive might be required if you have a less capable power supply. <br /> 5V at 6A for your Pi Linux Do away with low-voltage problems with your Raspberry Pi! <br /> <br />I own this 5V 6A power supply: <br /><a href=></a> <br /><img src= /> <br /> <br />And I bought this adaptor: <br /><a href=></a> <br /><img src= /> <br /> <br />What looks like the same adaptor cable is also available on ebay. <br /> <br />The power supply plug has inner positive and out negative, but it doesn't specify polarity for the adaptor cable. Tested, it works. Open circuit voltage measured, 5.21V. <br /> <br />Will this solve the low-voltage problems with the Pi? <br />Only partly. The USB sockets are severely current constrained, that is the way they are designed. So even if you have a USB hard drive that is powered off a USB2 socket, that only applies to "normal" USB2, not the Pi. A pity. <br /> <br />Anyway, I am now using this power supply, to ensure the chips will always have the full voltage. <br /> Quirky for Pi2 Linux Service Packs are available, to upgrade from Quirky 8.1.2 or 8.1.3 on the Raspberry Pi2 or Pi3. <br /> <br />Download (20.8MB, 1M): <br /><a href=></a> <br /><a href=></a> <br /> <br />8.1.2 to 8.1.3 upgrades the kernel to version 4.4.34. 8.1.3 to adds the Realtek 8192cu and 8192eu kernel drivers. <br /> <br />The Realtek drivers are also available as PETs (296KB, 438KB): <br /><a href=></a> <br /><a href=></a> <br /> New pet2tgz and pet2dir Linux /usr/bin/pet2tgz is an ancient script. I did add a few things to it, but it is a bit klutzy. Mavrothal rewrote it for woof-CE: <br /><a href=></a> <br /> <br />I have written a new pet2tgz based on mavrothal's version. <br /> <br />Finally, have also created /usr/bin/pet2dir, to expand a PET package to a folder. <br /> <br />Previously, have always run "tar -xf name-of-pet-package", which gives an error message, due to the md5 sum appended to the file. <br /> <br />So now you just run "pet2dir name-of-pet-package". It does not delete the PET package. <br /> 8192cu wifi now working in Pi2 Linux There is so much controversy over the 8192cu wifi chip. The Raspberry Pi kernel source developers are using 3rd-party source from Realtek and have disabled the 'rtlwifi' driver provided in the mainstream kernel. <br /> <br />There is a proposal to revert that, that is, dump the 3rd-party driver: <br /><a href=></a> <br /> <br />The problem is, that 3rd-party driver does not work in Quirky. Apparently it works in Raspbian. Scanning for networks works, but cannot establish a connection. <br /> <br />I have this wifi dongle, with "0bda:8176" interface, requiring the 8192cu driver: <br /><a href=></a> <br /> <br />I found another source, that has been reported to work OK. This is also source from Realtek: <br /><a href=></a> <br /> <br />I had to hack the 'Makefile' a little bit, to get it to compile. <br />Yep, it works, using it now. <br /> Linux driver for D-Link DWA-131 Rev.E Linux I bought one of these wifi dongles awhile ago. I posted about it at the time: <br /><a href=></a> <br /> <br />I wanted to get this dongle running on my Raspberry Pi2 and Pi3, and it is done, using it now. <br /> <br />Compiling 3rd-party drivers is now possible as I compiled the 4.4.34 kernel for the Pi, and created a kernel-source PET. So, anyone can do this. What is required is Quirky 8.1.3, with the "devx" PET and the kernel-source PET. <br /> <br />My D-Link DWA-131 dongle is Rev.E, which has a "2001:3319" interface, which is a rtl8192eu chip. This information is documented here: <br /><a href=></a> <br /> <br />The driver source was downloaded from here: <br /><a href=></a> <br /> <br />The 'Makefile' has to be edited. There are variables specifying the target architecture, which has to be changed from "386" to "rpi", then just run "make" and "make install". <br /> <br />Connecting to the Internet was a little bit slow, but it got there. Running now, for about 15 minutes, hasn't dropped out. <br /> <br />I will make a PET for this driver, and probably include it in the next release of Quirky. <br /> Kernel 4.4.34 compiled for Pi2 Linux Tested on the Raspberry Pi2, haven't tried on the Pi3 yet but it is expected to work. <br /> <br />This kernel is in the just-released Quirky 8.1.3: <br /><a href=></a> <br /> <br />After upgrading Quirky to 8.1.3, you might be interested in this... <br /> <br />For anyone who would like to compile a 3rd-party kernel driver, you will need the "devx" and kernel-source PETs. <br /> <br /><b>devx PET</b> <br />The 8.1.2 devx PET is available, after which you will need to install the 8.1.2-to-8.1.3 devx Service Pack (200MB, 157KB): <br /><a href=></a> <br /><a href=></a> <br /> <br />Note, whenever you run the Puppy Package Manager, you will (or should) be automatically offered Service Pack upgrades. <br /> <br /><b>Kernel source PET</b> <br />This source is specifically for the Pi2 and Pi3 (288MB): <br /><a href=></a> <br /> <br />...after installation, you will find the source in /usr/src. <br /> <br /><b>How to compile the kernel</b> <br />Just for the record, here is a log of the commands that I executed. Some of these steps are only for my setup, and some are for use with woofQ. <br />But, for anyone who is interested to compile the kernel themselves, these notes should be helpful: <br /> <br /><pre><code>source downloaded from: <br /># GIT_SSL_NO_VERIFY=true git clone --depth=1 <br />in folder /mnt/sda1/0-kernel-source, "extreme" 64GB flash stick. <br />rename "linux" to "linux-4.4.34-rpi" <br /> <br /># modprobe configs <br />...ubuntu-mate pi2 kernel, to get /proc/config.gz <br /> <br /># cd /usr <br /># ln -s /mnt/sda1/0-kernel-source src <br /># cd /usr/src <br /># cd linux-4.4.34-rpi <br /># KERNEL=kernel7 <br /> <br /># make mrproper <br />...copy in .config <br /># make menuconfig <br /># make -j3 zImage modules dtbs <br /># make modules_install <br /># make headers_install <br /># cd .. <br /># cp -a linux-4.4.34-rpi linux-4.4.34-rpiCOMPILED <br /> <br /># cd linux-4.4.34-rpi <br /># cp -a -f arch/arm/boot/dts/*.dtb /boot/ <br /># mkdir /boot/overlays <br /># cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ <br /># cp arch/arm/boot/dts/overlays/README /boot/overlays/ <br /># scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img <br /># make clean <br /># make prepare <br /># mkdir ../kernel_src-4.4.34-rpi2 <br /># mkdir -p ../kernel_src-4.4.34-rpi2/usr/src <br /># cp -a -f /usr/src/linux-4.4.34-rpi ../kernel_src-4.4.34-rpi2/usr/src/ <br /> <br />------------------ <br /> <br />then over on my laptop <br />---------------------- <br /> <br /># dir2tgz linux-4.4.34-rpi/ <br /># cp -a /mnt/sde2/lib/firmware out-k4.4.34/ <br /># ln -s linux-4.4.34-rpi linux <br /># cd linux-4.4.34-rpiCOMPILED/ <br /># cp -a usr/include/* ../out-k4.4.34/linux_headers-4.4.34-rpi2/usr/include/ <br /># KERNELVERSION='4.4.34-rpi2' <br /># POSTVER="" <br /># HDRSIZE=$(du -s -k ../out-k${KERNELVERSION}${POSTVER}/linux_headers-${KERNELVERSION}${POSTVER} | cut -f 1) <br /># echo "linux_headers-${KERNELVERSION}${POSTVER}|linux_headers|${KERNELVERSION}${POSTVER}||BuildingBlock|${HDRSIZE}K||linux_headers-${KERNELVERSION}${POSTVER}.pet||header files for ${KERNELVERSION}${POSTVER} kernel||||" > ../out-k${KERNELVERSION}${POSTVER}/linux_headers-${KERNELVERSION}${POSTVER}/pet.specs <br /># SDPRE="/mnt/sde2" <br /># xKERNELVERSION='4.4.34-v7+' <br /># cp -a -f ${SDPRE}/lib/modules/${xKERNELVERSION} ../out-k${KERNELVERSION}${POSTVER}/ <br /># cp -a .config DOTconfig-${KERNELVERSION} <br /># cp -f DOTconfig-${KERNELVERSION}${POSTVER} ../out-k${KERNELVERSION}${POSTVER}/ <br /># cp -f ../out-k${KERNELVERSION}${POSTVER}/ <br /># cp -f modules.order ../out-k${KERNELVERSION}${POSTVER}/ <br /># cp -f modules.builtin ../out-k${KERNELVERSION}${POSTVER}/ <br /># cp -f ${SDPRE}/boot/kernel7.img ../out-k${KERNELVERSION}${POSTVER}/ <br /># mkdir ../out-k${KERNELVERSION}${POSTVER}/dtb <br /># cp -f ${SDPRE}/boot/*.dtb ../out-k${KERNELVERSION}${POSTVER}/dtb/ <br /># cp -f ${SDPRE}/boot/overlays ../out-k${KERNELVERSION}${POSTVER}/dtb/ <br /># cp -a -f ${SDPRE}/boot/overlays ../out-k${KERNELVERSION}${POSTVER}/dtb/ <br /># cd ../out-k${KERNELVERSION}${POSTVER} <br /># dir2tgz firmware/ <br /># dir2tgz linux_headers-${KERNELVERSION}${POSTVER} <br /># tgz2pet linux_headers-${KERNELVERSION}${POSTVER}.tar.gz <br /># dir2tgz ${xKERNELVERSION} <br /># cd .. <br /> <br />also did some things manually, not recorded here... <br /># VER="$KERNELVERSION" <br /># SIZEK="$(du -s -k kernel_src-${VER} | cut -f 1)" <br /># echo "kernel_src-${VER}|kernel_src|${VER}||Utility;development|${SIZEK}K||kernel_src-${VER}.pet||Complete source of Linux kernel ${VER}, for raspberry pi|ubuntu|xenial||" > kernel_src-${VER}/pet.specs <br /># dir2tgz kernel_src-${VER}/ <br /># tgz2pet kernel_src-${VER}.tar.gz</code></pre>< <br /> Quirky Pi 8.1.3 Service Pack Linux As promised, from Quirky 8.1.2, upgrades will be available as Service Packs, small PET packages. At least, for as long as I am motivated to do so! <br /> <br />You need to have 8.1.2 running on your Pi2 or Pi3: <br /><a href=></a> <br /> <br />The 8.1.2-to-8.1.3 Service Pack is here (21MB): <br /><a href=></a> <br /> <br />You could download it and click on it to install. Alternatively, a check is made for a Service Pack whenever the Puppy Package Manager is started, or a check may be made via the menu "Filesystem/Quirky Version Upgrade Manager". <br /> <br /><b>What is new in 8.1.3</b> <br />I have compiled the Linux kernel, now version 4.4.34. various small changes, including both 8192cu.ko and rtl8192cu.ko drivers -- this is for experimenting with wifi dongles that use that chip, and one of those drivers will have to be blacklisted. <br /> <br />We will experiment and get this wifi chip going! <br /> <br />Tex Dog in the Puppy Forum reported that the 'xrefresh' utility is missing, used by omxplayer. Fixed. <br /> <br /><b>Uninstalling</b> <br />PET package uninstalling in Quirky is introduced here: <br /><a href=></a> <br /> <br />This means that you should be able to uninstall the 8.1.3 Service Pack, and be rolled back to 8.1.2. <br />However, I have not yet verified that it works. <br /> <br /><b>Ongoing discussion</b> <br /><a href=></a> <br /> Quirky 8.1.2 for Raspberry Pi2 and Pi3 Linux This is a minor-point update for Quirky 8.1, that was announced here: <br /><a href=></a> <br /> <br />...please read that link for the full details, including how to install. <br /> <br />Version 8.1.2 is available here: <br /><a href=></a> <br /> <br />Version 8.1.2 has got smaller. The download file is 351MB, compared with 8.1 at 359MB. Just removed some dead wood. <br /> <br /><b>Improvements since 8.1.1</b> <br /><b>SimpleVP</b> (video and audio player) bug fixes and improvements. <br /><b>Service Pack</b> support. This was broken. From now on (touch wood) it should be possible to download small Service Pack PET packages to upgrade to later versions. <br /> <br />A further note about Service Packs. You will automatically be notified if an upgrade is available whenever you run the PPM (package manager), or you can check via the menu "Filesystem -> Quirky Version Upgrade Manager". <br />These Service Packs are also expected to have updated Pi kernel and firmware. <br /> <br /><b>devx PET</b> <br />Look in the "xerus" PET repository in the PPM, you will find '', that turns Quirky into a complete compiling environment. Everything needed, including all headers, compilers, git, svn, are in the one PET package. <br /> <br />Alternatively, grab it from here (200MB): <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />Join the discussion here: <br /><a href=></a> <br /> Device-mapper compiled Linux I posted yesterday about 'dmsetup' not working: <br /><a href=></a> <br /> <br />So, compiled it and it now works. Here is how, version 2.02.167: <br /><pre><code># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --disable-udev-systemd-background-jobs --disable-dbus-service --disable-selinux --with-raid=none --with-udev-prefix="" --with-udevdir=/lib/udev/rules.d --with-thin=none --sbindir=/sbin --libdir=/lib <br /># make device-mapper <br /># new2dir make install_device-mapper</code></pre>< <br /> <br />The website has incorrect instruction for install, my above is correct. Project website: <br /><a href=></a> <br /> <br />x86_64 PETs: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> Investigating device mapper Linux Device mapper is something that has been around for a very long time, from the 2.4 kernel days. I did briefly look at it many years ago, was interested in encryption support. <br /> <br />Decided today that device mapper needs a closer look, partly because it can be setup for CoW (Copy on Write), also the encryption. <br /> <br />I started with this page: <br /><a href=></a> <br /> <br />...unfortunately, 'dmsetup' utility does not work. After scratching my head for a few hours, I downloaded the source of LVM2 and compiled it. Now it works. I think that the Ubuntu LVM2 DEB has a systemd dependency, causing dmsetup to hang, waiting on something that never happens I suppose, as systemd in Quirky has been castrated. <br /> <br />LVM2 is a Red Hat project, and those guys are the ones behind systemd. Anyway, I configured the source and it now works. I will probably make a PET, will also probably document how I configured it. <br /> <br />Note yet, as want to recompile it. Once again, I was stumped how to load device-mapped partitions at bootup without an initramfs, then I discovered this, some patches: <br /><a href=></a> <br /> <br />...resistance from a LVM2 maintainer to accepting these patches. <br /> Zfs sanity test Linux I posted about an out-of-memory problem with btrfs: <br /><a href=></a> <br /> <br />I decided to try zfs. Followed these instructions to compile the 4.8.7 kernel with zfs built-in. The utilities, such as 'zpool' and 'zfs' are also compiled and installed: <br /><a href=></a> <br /> <br />I am running Quirky 8.x x86_64, zfs requires a 64-bit system. <br /> <br />As I know virtually nothing about how to use zfs, some hand-holding is needed. Followed these instructions to setup zfs on a USB flash stick: <br /><a href=></a> <br /> <br />In my case, the second partition of the flash stick is /dev/sdd2 and is about 29GB, the same one used for earlier btrfs test. From the above link, this is what I did: <br /> <br /><i># zpool create -f quirkypool /dev/sdd2 <br /># zfs create quirkypool/bk <br /># zfs set compression=off quirkypool/bk <br /># zfs set copies=2 quirkypool/bk</i> <br /> <br />After which I discovered a top-level folder '/quirkypool', mounted as a zfs filesystem. <br /> <br />Then the big moment, copied all of Quirky into it: <br /> <br /><i># cp -a /path/to/quirky/files/* /quirkypool/bk/</i> <br /> <br />...and it copied, no problem at all. <br /> <br />Due to the "copies=2" it is expected the used space to be about twice the size of the files, and that is the case. <br /> <br /><i># du -m /path/to/quirky/files <br />1562 <br /># df -m <br />quirkypool/bk 27776 3182 24594 12% /quirkypool/bk <br /># du -m /quirkypool/bk <br />3190</i> <br /> <br />Yay, now I should try with compression! <br /> Btrfs comes to a crashing stop Linux I posted about btrfs yesterday: <br /><a href=></a> <br /> <br />I was getting quite excited about subvolumes and snapshots, could see enormous potential. <br /> <br />I created a USB stick with Quirky 8.x x86_64, the second partition has btrfs and a subvolume named "@" with the Quirky files. Yep, it boots. <br /> <br />The second partition on the USB stick is 29GB, and I had less than 1GB of files to copy into the subvolume. <br /> <br />The 'cp' operation reported "no space left on device", so only part of Quirky got copied. Enough to bootup, but broken. <br /> <br />This problem is reported many times on the Internet, such as this guy who copied only 6GB into a 400GB partition and got the same "no space left on device" error: <br /><a href=></a> <br /> <br />...he had a very big file, which triggered the error, however, elsewhere there are heaps of reports of the out-of-space error when there is heaps of space, not just when copying large files. <br /> <br />There are some esoteric instructions that may be used to "fix" this problem, however, I just want something that works. <br /> <br />Pity. I am going to patch the kernel with zfs and try that. <br />Perhaps there is a good reason why Ubuntu and some other distros have chosen zfs. <br /> Kernel 4.8.7 for Quirky x86_64 Linux Well underway working on a new Quirky for x86_64 PCs. <br /> <br />A Linux kernel with btrfs builtin is required, plus wanted some extra firewall modules. So have compiled the 4.8.7 kernel. Note also, no aufs patch as am migrating to using overlay f.s. <br /> <br />Here are the new PETs (139.9MB, 31.2MB): <br /><a href=></a> <br /><a href=></a> <br /> <br />Kernel source, patches and build scripts are here, with our usual username/password: <br /><a href=></a> <br /> <br /> Coming up: btrfs, x86_64 Linux Some notes on what I am now starting to work on. <br /> <br />It is about time for another Quirky for the x86_64 PC. Version 8.0 was released back in April: <br /><a href=></a> <br /> <br />Another thing that I am starting work on is examining use of btrfs as the root filesystem, instead of ext4 or f2fs. <br /> <br />A couple of years ago, someone recommended btrfs to me for use in Puppy/Quirky, due to support for compression and Copy on Write (CoW). <br />Here is an overview of Btrfs: <br /><a href=></a> <br /> <br />What is motivating me now to look at btrfs is the send/receive, or snapshot, feature. <br /> <br />Quirky is designed with a snapshot and recovery mechanism, however it is slow and clunky. Btrfs, it seems, could make creating a snapshot just about instantaneous, and recovery just as fast. <br /> <br />Here is an interesting link on porting Raspian on the Pi over to btrfs: <br /><a href=></a> <br /> <br />If you read reports about btrfs on the Internet, there is a lot of negative stuff. Some of it quite dated though. <br />What is the status now, in 2016? This is an interesting read: <br /><a href=></a> <br /> Quirky 8.1.1 for Raspberry Pi2 and Pi3 Linux This is a minor-point update for Quirky 8.1, that was announced here: <br /><a href=></a> <br /> <br />...please read that link for the full details, including how to install. <br /> <br />Version 8.1.1 is available here: <br /><a href=></a> <br /> <br />8.1.1 has got smaller. The download file is 353MB, compered with 8.1 at 359MB. Just removed some dead wood. <br /> Qsync NTP time sync Linux Quirky, and most, perhaps all, puppies, have Psync for synchronizing the time from the Internet. <br /> <br />Psync was developed by tasmod and latest is version 2.10: <br /><a href=></a> <br /> <br />The Raspberry Pi does not have a battery-backed hardware clock, so is heavily reliant on NTP time sync from the Internet. <br /> <br />However, psync does not work reliably. At bootup, if there is not an immediate Internet connection, sync will fail. Psync does try to wait awhile, but that is not an adequate solution. <br /> <br />We are getting bug reports related to this, such as https failing due to the time being wildly wrong. <br /> <br />I decided to make a clean start, and I wrote Qsync from scratch. Very simple, here is the GUI: <br /><img src= /> <br /> <br />The new script is /usr/sbin/qsync, and I modified /usr/sbin/quicksetup and /root/network_tray (now version 3.2.1) to work with it. <br /> <br />It doesn't matter when you connect to the Internet. You can bootup and not be connected (and Quirky will set the date/time from the last shutdown). Then, when you connect, network_tray will call qsync as a CLI app and there will be an NTP sync. <br /> <br />The GUI will popup from QuickSetup, also from the menu Desktop -> Qsync <br /> <br />Qsync is builtin to woofQ, not a PET. It uses the 'ntpdate' utility. <br /> SimpleVP rapidly matured Linux SimpleVP (SVP) is my GUI frontend for CLI (commandline) players. In Quirky Linux on the Raspberry Pi, there is FFplay, VLC and Omxplayer. SVP is a frontend for all of these. <br /> <br />Here is a snapshot: <br /><img src= /> <br /> <br />I have used the excellent SVG images developed for woof-CE by zigbert and others, plus a couple modified by me. <br /> <br />The Help icon at bottom-left of the window has a detailed help page, that I am gradually adding to. <br /> <br />There is also an OSC (On-Screen Control) window, that displays when videos are played in a window. <br />Even Omxplayer, which renders direct to the screen, bypassing Xorg, can render in a portion of the screen, allowing the OSC. <br /> <br />Audio files are played with a visualization window and the OSC. <br /> <br />SVP will play audio-CDs and video DVDs, and optical media with individual audio/video files. <br /> <br />There is a button for streaming media, but not yet implemented, though any URL can be dropped or typed into the edit-box. <br /> SimpleVLC now SimpleVP Linux I wrote about SimpleVLC recently: <br /><a href=></a> <br /> <br />The next release of Quirky for the Pi2 and Pi3 will have both VLC and Omxplayer. <br /> <br />SimpleVP (Simple Video Player) is now a GUI frontend for both of these CLI players. Hence the change to a more generic name. <br /> <br />It is basically working. I have just searched online how to get keyboard control when Omxplayer is playing a video, will do that next. Also, found docs on how Omxplayer can play in a small window. <br /> <br />Stay tuned. <br /> Step-4, discard Steps 1 and 3 Linux I had compiled ffmpeg, omxplayer and vlc, however, realised this may cause trouble if want to install DEBs from the Ubuntu repository that are linked against the original ffmpeg. <br /> <br />So, staying with Ubuntu's ffmpeg version 2.8.6 DEBs, I have compiled omxplayer and vlc. Tested, both work. <br /> Step-3, VLC compiled on Pi2 Linux Steps 1 and 2 are documented here: <br /><a href=></a> <br /><a href=></a> <br /> <br />Step 3 is to compile VLC with hardware acceleration for the Pi2 and Pi3, using the system ffmpeg that Omxplayer also uses. <br /> <br />This is how VLC 2.2.4 was compiled: <br /><pre><code># ./bootstrap <br /># CFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2 -mfloat-abi=hard -mcpu=cortex-a7 -mfpu=neon-vfpv4" CXXFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -mfloat-abi=hard -I/opt/vc/include/GLES2 -mcpu=cortex-a7 -mfpu=neon-vfpv4" LDFLAGS="-L/opt/vc/lib" ./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2 --enable-gles1 --sysconfdir=/etc --localstatedir=/var --disable-udev --disable-dbus --enable-optimize-memory --enable-run-as-root --disable-lua --enable-faad --enable-flac --disable-pulse --enable-alsa --disable-atmo --disable-bonjour --disable-vsxu --disable-projectm --disable-goom --enable-libgcrypt --enable-dvdread --enable-dvdnav --enable-vlc --enable-schroedinger --enable-theora --enable-ncurses --enable-dc1394 --disable-xvideo --with-x --disable-jack --enable-x264 --enable-x265 --enable-dvbpsi --disable-qt --enable-vpx --enable-vorbis --enable-libmpeg2 --enable-a52 --enable-mad --enable-ogg --disable-skins2 --disable-static --enable-shared <br /># make <br /># new2dir make install</code></pre>< <br /> <br />Both VLC and Omxplayer work. The latter plays 1080p videos smoother. On the otherhand, VLC plays more video formats. So it is good to have the choice of players. <br /> <br />I intend to expand SimpleVLC to be a frontend to both VLC and Omxplayer. So, it is renamed to <b>SimpleMP</b> (Simple Multimedia Player). <br /> Omxplayer compiled on Pi2, take-2 Linux This is step 2. Step-1, I compiled ffmpeg 3.2: <br /><a href=></a> <br /> <br />The omxplayer source was downloaded from here: <br /><a href=></a> <br /> <br />I then inserted the compiled ffmpeg libraries and headers into the omxplayer source, so that the 'omxplayer.bin' binary will be linked against the system ffmpeg libs. <br /> <br />Here are notes on how I compiled Omxplayer: <br /> <br />I modified script '', took out the REQUIRED_PKGS variables, changed "gcc-4.7" to "gcc-4.8" and "g++-4.7" to "g++-4.8", <br />changed CFLAGS line to this: <br /><pre><code>CFLAGS += -fomit-frame-pointer -mabi=aapcs-linux -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog -march=armv7-a `pkg-config dbus-1 --cflags`</code></pre>< <br /> <br />ffmpeg was compiled separately, then copied into folder 'ffmpeg_compiled'. <br />you need usr/local/include and usr/local/lib <br /> <br /># ./ <br /># make <br /> <br />final link step fails. had to add -lOpenVG, and rearrange: <br /> <br /><pre><code>/usr//bin/g++-4.8 -L/opt/vc/lib -L/lib -L/usr/lib -lfreetype -L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lz -o omxplayer.bin linux/XMemUtils.o linux/OMXAlsa.o utils/log.o DynamicDll.o utils/PCMRemap.o utils/RegExp.o OMXSubtitleTagSami.o OMXOverlayCodecText.o BitstreamConverter.o linux/RBP.o OMXThread.o OMXReader.o OMXStreamInfo.o OMXAudioCodecOMX.o OMXCore.o OMXVideo.o OMXAudio.o OMXClock.o File.o OMXPlayerVideo.o OMXPlayerAudio.o OMXPlayerSubtitles.o SubtitleRenderer.o Unicode.o Srt.o KeyConfig.o OMXControl.o Keyboard.o omxplayer.o -lvchostif -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre -lOpenVG -lEGL -lbcm_host -lvchiq_arm -lvcos -lfreetype -lGLESv2 -lopenmaxil -lasound</code></pre>< <br /> <br />Do manual install. <br />I modified the 'omxplayer' script to suit Quirky. <br /> <br /> ffmpeg compiled again for Pi2 Linux I recently compiled ffmpeg for the Raspberry Pi2 and Pi3, reported on my blog: <br /><a href=></a> <br /> <br />However, I wanted to go through the exercise again, and link Omxplayer and VLC against the same ffmpeg libraries. <br />I have succeeded with this, but starting at step one, here is how I compiled ffmpeg today. <br /> <br />Firstly, I installed some DEBs that will be needed for Omxplayer: <br /><i>cpp-4.8 g++-4.8 gcc-4.8 gcc-4.8-base libasan0 libboost1.58-dev libcloog-isl4 libgcc-4.8-dev libssh-4 libssh-dev libstdc++-4.8-dev <br /></i> <br />ffmpeg will only need libssh out of that lot. Though, I do wish they would update to using libssh2. <br /> <br />I compiled ffmpeg 3.2, which requires SDL2, so installed these DEBs: <br /><i>libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev libsdl2-mixer-2.0-0 libsdl2-mixer-dev libsdl2-net-2.0-0 libsdl2-net-dev libsdl2-ttf-2.0-0 libsdl2-ttf-dev libsndio6.1 libsndio-dev</i> <br /> <br />Then configure, compile and install. Note, I took out all hardware acceleration, including OpenMAX, VAAPI and XVMC, however, left the paths into /opt/vc in case want to bring back OpenMAX acceleration: <br /><pre><code># ./configure --prefix=/usr --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-nonfree --enable-pthreads --enable-libvorbis --enable-shared --disable-static --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --disable-runtime-cpudetect --enable-zlib --disable-debug --enable-bzlib --enable-version3 --enable-ffplay --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfreetype --enable-libschroedinger --enable-libvpx --enable-libspeex --enable-libcdio --enable-fontconfig --enable-libbluray --enable-libx265 --enable-pic --disable-libpulse --disable-yasm --enable-thumb --cpu=armv7-a --disable-vdpau --enable-openssl --enable-libtheora --enable-librtmp --enable-libopencv --enable-libmp3lame --enable-libfontconfig --enable-libass --enable-gcrypt --enable-libgsm --enable-libtwolame --enable-libv4l2 --enable-libwebp --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libsmbclient --enable-libopus --disable-ladspa --disable-libcaca --enable-sdl2 --enable-ffplay --disable-armv5te --disable-armv6 --disable-armv6t2 --extra-cflags="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2" --extra-cxxflags="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2" --extra-ldflags="-L/opt/vc/lib" --enable-libssh --target-os=linux --enable-muxer=spdif --enable-muxer=adts --enable-encoder=ac3 --enable-encoder=aac --disable-decoder=mpeg_xvmc --disable-doc --enable-protocol=http --enable-hardcoded-tables --disable-ffserver --disable-vaapi --disable-libxvid --disable-hwaccel=mpeg1_xvmc --disable-hwaccel=mpeg2_xvmc <br /># make -j3 <br /># new2dir make install</code></pre>< <br /> <br />That's it. Next step is compile Omxplayer. <br /> Omxplayer compiled on Pi2, take-1 Linux Just a quick note, 'coz it is 2.00am here. I compiled Omxplayer on the Pi2, and played Big Buck Bunny, video but no sound. <br /> <br />I used the source from here, as it seems to be the most recently active: <br /><a href=></a> <br /> <br />A lot of problems, but did succeed in compiling. <br /> <br />It downloads the latest ffmpeg, and applies very restricted configure options. I found Raspbian Omxplayer source dated 2013, with much better configure options. <br /> <br />I am going to look at compiling ffmpeg, that can then be used for both VLC and Omxplayer. Will keep working on it this evening, gotta sleep now, then busy other things most of the day. <br /> Quirky Linux 8.1 for Raspberry Pi2 and Pi3 Linux This is the first release of Quirky built for ARM boards, specifically the Raspberry Pi2 and Pi3. Brief release announcement: <br /> <br /><i>Quirky 8.1 is built using Ubuntu Xenial Xerus 16.04 armv7 DEBs and some especially compiled PET packages such as SeaMonkey 2.40. <br />Version 8.1 is the first to be built for the ARM platform, specifically the Raspberry Pi2 and Pi3. Note that Quirky will not work on a Pi1. It is expected a build for the Odroid XU4 is coming soon. <br /> <br />The functionality is much as you have come to expect with a Puppy-derivative -- you get "the kitchen sink" in a very small package. That is, an application for just about everything and utilities to setup and configure just about anything. <br /> <br />A difference though, with the Raspberry Pi build, is that it includes LibreOffice and Inkscape, whereas Puppy-derivatives usually have light-weight choices, such as Gnumeric, Abiword and InkscapeLite. This decision was made so as to provide the same functionality out-of-the-box as Raspbian, and in fact a whole lot more. <br />This has resulted in a somewhat larger build than usual, a download file of 360MB. However, compare that with Raspbian at 1.3GB, and Quirky is still relatively small.</i> <br /> <br />The full announcement and release notes are here: <br /><a href=></a> <br /> <br /><b>Download</b> <br />The primary download site is, though it can be slow: <br /><a href=></a> <br /> <br />A faster mirror of is thanks to nluug: <br /><a href=></a> <br /> <br />Quirky 8.1 has also been archived at <br /><a href=></a> <br /> <br /><b>Installation</b> <br />Quirky is provided as an "8GB" image, <i>quirky-pi2-sd-8gb-xerus-8.1.img.xz</i>, that can be written to a micro-SD card. Currently, this is only for the Raspberry Pi2 and Pi3, it will not boot on any other ARM board. <br /> <br />If you are running Windows, you will first need to expand the file. It is compressed with XZ, and a suitable Windows program to expand it is <i>7-zip</i>. Almost 8GB of free space in the partition is required. Then, write the expanded image file to the SD-card, using a Windows program such as <i>Win32DiskImager</i>. The raspberry Pi website has some instructions for the latter step: <br /><a href=></a> <br /> <br />If you are running Linux, then it is easy-peasy, well, especially easy if you are running Puppy Linux, or derivative (such as Quirky) -- some other Linux distributions will automount the card, and give it a strange device name, so you have to unmount it and determine it's correct device name (/dev/sdb for example). Instructions here: <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />Expect on-going posts to this blog. Discussion, including bug reports and fixes, and general user experiences, are to be found at this thread on the Puppy Linux Forum, from page 12: <br /><a href=></a> <br /> SimpleVLC, a GUI for VLC Linux I recently wrote about compiling the CLI-only version of VLC: <br /><a href=></a> <br /><a href=></a> <br /> <br />Back around 2010, Puppy Forum member 'sc0ttman' wrote a GUI frontend for VLC, named VLC-GTK <br /><a href=></a> <br /><a href=></a> <br /> <br />I started to fix VLC-GTK, however, came to realise it would be better to make a fresh start. <br /> <br />That fresh start is named SimpleVLC. It is a frontend using 'gtkdialog' for the GUI, and the utilities 'xdotool' and 'wmctrl': <br /> <br /><b>xdotool:</b> <br /><a href=></a> <br /><b>wmctrl:</b> <br /><a href=></a> <br /><a href=></a> <br /> <br />I am using wmctrl to find the window-id of the playing video (also audio has a visualisation window), and xdotool to send simulated key-presses to the window. <br /> <br />So far, have only got it to play local video and audio files. There is not (yet) any playlist mechanism, but it will play whatever is in a folder. <br />It is working well on the Pi2, including full-screen with OpenMAX hardware acceleration -- though, I found the Pi2 is barely adequate for playing 1080p videos even with the hardware acceleration -- though, I read that Omxplayer does it better than VLC. 4K videos are totally unplayable. <br /> <br />One hint for Pi users. To play 1080p videos, you have to set "gpu_mem=256" in file 'config.txt' in the boot partition. This is reserving part of the 1GB RAM for the GPU. <br /> <br /> Inkscape compiled for Pi2 Linux Running Quirky 8.0.27 on the Raspberry Pi2, I have compiled Inkscape 0.91. <br /> <br />There is Inkscape in the Ubuntu DEB repository, however it requires libmagick, a rather large dependency that I would prefer to avoid. <br /> <br />These extra DEBs are required: <br />libgsl2, libgsl-dev, libboost-dev (and its dependencies). <br /> <br />Then, to configure and compile: <br /><pre><code># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=armv7l-unknown-linux-gnueabihf --with-pic --disable-cdr --disable-visio --disable-wpg --enable-poppler-cairo --enable-lcms --disable-static --disable-dbusapi --without-gnome-vfs <br /># make <br /># new2dir make install</code></pre>< <br /> <br />It runs OK, but I am surprised how slow it is on the Pi. Slower even than Libreoffice. Compare with our old InkscapeLite, which does everything instantly. <br /> <br />Anyway, I was motivated to move to the full Inkscape for two reasons. <br /> <br />Firstly, I am using Gparted DEB from the Ubuntu repo, with the shared gtkmm DEBs, rather than Gparted compiled by me with gtkmm linked statically. So, having the gtkmm shared libs there, makes it more attractive to also install Inkscape. <br /> <br />Secondly, many SVG images do not render correctly with InkscapeLite. This includes many of the SVG images created for woof-CE, in /usr/share/pixmaps/puppy. <br />I am gradually putting those into Quirky, so I really do need to be able to open and edit them. <br /> Firewall_ng Linux Up until now, Quirky has been using the venerable 'Linux Firewall' PET. The original project site for this has long ago disappeared. <br /> <br />There is another firewall setup script that has been adapted for Puppy Linux by '01micko', with a nice GUI using gtkdialog. <br /> <br />Recently, Puppy Forum member 'watchdog' extracted it from woof-CE for use in an old version of Puppy: <br /><a href=></a> <br /> <br />I decided to consider it for inclusion in Quirky. Yes, looks good, so I have put it into rootfs-skeleton in woofQ. <br /> <br />Here a github repository for firewall_ng, at dimr's woof-ce-libre: <br /><a href=></a> <br /> VLC 2.2.4 compiled for Pi2 Linux I posted about VLC on the Pi2 and Pi3 a few days ago: <br /><a href=></a> <br /> <br />My thinking now is that I will put the CLI VLC (no GUI) into the next build of Quirky, and use sc0ttman's VLC-GTK (or similar) as the frontend. <br /> <br />I left the default ffmpeg from the Ubuntu repo installed. This is how I configured VLC: <br /> <br /><pre><code># ./bootstrap <br /># CFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2 -mfloat-abi=hard -mcpu=cortex-a7 -mfpu=neon-vfpv4" CXXFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -mfloat-abi=hard -I/opt/vc/include/GLES2 -mcpu=cortex-a7 -mfpu=neon-vfpv4" LDFLAGS="-L/opt/vc/lib" ./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2 --enable-gles1 --sysconfdir=/etc --localstatedir=/var --disable-udev --disable-dbus --enable-optimize-memory --enable-run-as-root --disable-lua --enable-faad --enable-flac --disable-pulse --enable-alsa --disable-atmo --disable-bonjour --disable-vsxu --disable-projectm --disable-goom --enable-libgcrypt --enable-dvdread --enable-dvdnav --enable-vlc --enable-schroedinger --enable-theora --enable-ncurses --enable-dc1394 --enable-xvideo --with-x --disable-jack --enable-x264 --enable-x265 --enable-dvbpsi --disable-qt --enable-vpx --enable-vorbis --enable-libmpeg2 --enable-a52 --enable-mad --enable-ogg --disable-skins2 --disable-static --enable-shared</code></pre>< <br /> <br />sc0ttman's VLC-GTK doesn't work anymore. Part of the problem is that VLC options have changed. sc0ttman has lots of version tests for different versions of VLC, however, that was some years ago, back around 2010 I think. <br /> <br />I also found other issues. Did eventually get a still image appearing on screen, with the OSC (On Screen Controls) window, but the video doesn't play. Well, could work on it some more, but I am thinking perhaps make a clean start, a brand new frontend. <br /> ffmpeg hardware accel for Pi2 Linux My Quirky 8.0.* builds are based on DEBs from Ubuntu Xenial Xerus 16.04, which has ffmpeg version 2.8.6. <br /> <br />Ffmpeg version 3.1 introduced OpenMAX hardware acceleration for the Raspberry Pi, so I decided to check that out. <br /> <br />I downloaded ffmpeg from git, and configured it like this, in a running Pi2: <br /> <br /><pre><code># ./configure --prefix=/usr --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libx264 --enable-nonfree --enable-pthreads --enable-libvorbis --enable-shared --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-runtime-cpudetect --enable-zlib --disable-debug --enable-bzlib --enable-version3 --enable-ffplay --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfreetype --enable-libschroedinger --enable-libvpx --enable-libspeex --enable-libcdio --enable-fontconfig --enable-libbluray --enable-libx265 --enable-pic --disable-libpulse --disable-yasm --enable-thumb --cpu=armv7-a --disable-vdpau --enable-mmal --enable-omx --enable-omx-rpi --enable-openssl --enable-opengl --enable-libtheora --enable-librtmp --enable-libopencv --enable-libmp3lame --enable-libfontconfig --enable-libass --enable-gcrypt --enable-libgsm --enable-libtwolame --enable-libv4l2 --enable-libwebp --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libsmbclient --enable-libopus --disable-ladspa --disable-libcaca --disable-libssh --enable-sdl2 --enable-ffplay --disable-armv5te --disable-armv6 --disable-armv6t2 --extra-cflags="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2" --extra-cxxflags="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2" --extra-ldflags="-L/opt/vc/lib" <br /># make -j3</code></pre>< <br /> <br />I was curious to know if there is any way to get 'ffplay' to render with MMAL or OpenMAX, but it seems there isn't. Big Buck Bunny full-screen was jerky. It cannot utilise the direct overlay rendering with OpenMAX, as VLC and OMXplayer can do. <br /> <br />I think that by default, it uses MMAL. If I do this explicitly, it works, but no difference in the frame rate, just as jerky full-screen: <br /> <br /><pre><code># ffplay -vcodec h264_mmal big_buck_bunny.mp4</code></pre>< <br /> <br />...I guess it is decoding using the GPU, but that's it. <br /> <br />I can't see any point to it, so I will stay with the ffmpeg Ubuntu DEBs. <br /> MPV video player for Pi2? Linux I was looking into compiling ffmpeg with hardware acceleration for the Raspberry Pi (yes, version 3.1 and later), when I stumbled upon MPV. Never looked at it before. <br /> <br />Here is the website: <br /><a href=></a> <br /> <br />Here are instructions to compile it with hardware acceleration for the Pi: <br /><a href=></a> <br /> <br />I'll give it a go. <br /> 2016 hike number 4 Light This is a report on another overnighter: <br /> <br /><a href=></a> <br /> <br />Primarily, the purpose was to play with the AlpineQuest GPS trail app and Canon Powershot G9 X camera. <br /> <br />In this web page, I have experimented with CSS media-queries, to try and get the text to be readable on desktop as well as phone in both landscape and portrait orientation. <br /> <br />The CSS is embedded in the web page, so you can use the browser's view-source feature, if it has that, to see how I implemented the queries. <br /> Maybe VLC for Pi Linux Quirky builds for the Raspberry Pi2 and Pi3 have included Xine for video playing. However, it does not work very well. Well, mostly doesn't work. Works much better on the x86 PCs. <br /> <br />So, I looked at what other video player there is for the Pi's. <br /> <br />There are at least two that have support for the GPU in the Pi, Omxplayer and VLC. <br /> <br />Omxplayer is CLI only, VLC is CLI and a GUI version requiring Qt. <br /> <br />I decided to give VLC a go, but I don't want to bring in the Qt libs, my Quirky build is big enough already (about 350MB). Instead, I am compiling it for CLI only, and I will checkout 'vlc-gtk'. <br /> <br />Here is a web page that explains about Pi GPU support for VLC: <br /><a href=></a> <br /> <br />I followed those instructions, checked out the latest VLC from github, however it requires a later version of ffmpeg than that in Ubuntu 16.04. So I downloaded VLC 2.2.4, the latest release version. <br />I think that I read that Pi support was introduced with 2.2.0. <br /> <br />It is compiling on the Pi2 right now. <br /> <br />VLC-GTK was developed by sc0ttman: <br /><a href=></a> <br /> <br />sc0ttman also posted here: <br /><a href=></a> <br /> <br />...I haven't tried these GUIs yet! <br /> Xine and ethernet fixes Linux A couple of "interesting" bugs fixed, running Quirky on the Pi2. <br /> <br /><b>Xine</b> <br />The menu entry for Xine multimedia player was wrong. <br />woofq, the Quirky build system, has a template for package 'xine-ui', that amongst other things, installs a custom /usr/share/application/xine.desktop <br /> <br />However, in the DEB package, /usr/share/applications/xine.desktop is a symlink to /var/lib/xine/xine.desktop, and this caused the custom xine.desktop to not install. <br /> <br />Why on earth put xine.desktop in /var/lib/xine?! <br />Anyway, I fixed it. <br /> <br /><b>SNS</b> <br />This is Simple Network Setup, to be found in /usr/local/simple_network_setup. <br />Running on the Pi2, I am using my new TP-Link ethernet-wifi adaptor: <br /><a href=></a> <br /> <br />Easy to connect to the Internet with this, however, after a reboot is is supposed to automatically connect, but doesn't. Nor does clicking the "connect now" button in the SNS window. <br /> <br />I discovered why. SNS assumes that all of the network drivers are modules. However, I am using the official Pi kernel, not one that I compiled myself, and the 'smsc95xx' driver is built-in to the kernel, not a module. <br /> <br />I have edited /usr/local/simple_network_setup/ and fixed this bug. <br /> Retrovol replaced with pnmixer and aumix Linux On the Raspberry Pi2 and Pi3, the Retrovol mixer crashes. It does work, but also displays a bogus volume slider, which, when clicked upon crashes Retrovol. <br /> <br />So, for the ARM boards, I am now using pnmixer, a volume control for the tray, and aumix, a mixer. <br />I have pre-configured pnmixer to launch aumix. <br /> <br />Both of these are in the Ubuntu repository, however I compiled a slightly older pnmixer, before it was ported from GTK2 to GTK3. <br /> <br />Preliminary testing on the Pi2, looks good. <br /> PupCamera working again Linux Ah, it is good to have a digital camera, so that I can test PupCamera. Good, because I found it to be broken, and I fixed it. <br /> <br />Back in 2011, I created PupCamera. There is a udev rule, /etc/udev/rules.d/88-puppy-autodetect.rules, that detects if a camera is plugged in via USB cable, then launches /usr/sbin/pupautodetect, which then launches /usr/sbin/pupcamera. <br /> <br />PupCamera enables viewing and extracting of pictures from the camera. <br /> <br />I plugged in my camera, nothing happened. Two hours later, I finally figured out what is wrong. pupautodetect has this line to detect if X is running: <br /> <br /><i>[ "`pidof X`" == "" ] && exit #X not running.</i> <br /> <br />It is done this way, as the variable DISPLAY is not set when an application is launched from a udev rule. <br /> <br />The problem is, "pidof X" returns nothing. This is because of a change in Ubuntu, and I presume Debian. /usr/bin/X is a symlink to /usr/bin/Xorg, however the latter is now a script, which executes /usr/lib/xorg/Xorg. <br />Yep, Debian/Ubuntu are at it again, messing around with the file layout. <br /> <br />Anyway, I fixed it: <br /> <br /><i>[ "`pidof X`" ] || [ "`pidof Xorg`" ] || exit</i> <br /> <br />Now I plugged in my camera, and there are all my photos. Just copied the photos across to my hard drive. Yippee! <br /> <br />Note, it "just works" on my Android phone. I connected a USB cable between camera and phone, and immediately all the camera photos were displayed, as thumbnails. Touch one, there was the offer to export it to the phone. <br /> Resize partition to fill drive Linux We have a situation where an image file of a Linux distribution is written to a Flash media, such as a USB-stick or an SD-card, and the image is smaller than the actual size of the drive. <br /> <br />For example, an image labeled as "8GB" should in fact be small enough to fit on all 8GB drives, and on many drives there might be a few hundred MB left unused at the end of the drive. <br />If the "8GB" image is written to a much bigger drive, say 16GB, then of course there is several GB unused. <br /> <br />Some distributions, such as Ubuntu Mate (official image from HardKernel) for the Odroid XU4, perform an automatic reboot at first startup, and grow the partition to fill the drive -- this reboot actually happens just after the login screen appears, without any warning. <br /> <br />I have chosen to be polite and ask at first bootup. QuickSetup displays at first bootup, and there is now a checkbox, that you can tick if you want to grow the partition. <br /> <br />This checkbox will only appear if the unused space immediately after the system partition is greater than 400MB. <br />I chose this threshold, as I didn't want to bother the user with one more option in the QuickSetup window, when only a small amount will be recovered. <br /> <br />There is a Help button, that informs you how much space is unused, so you can make the decision whether you want to do it. <br /> <br />If you do tick the checkbox, QuickSetup (/usr/sbin/quicksetup) will write "partition,filesystem,MAXSIZE,start-sector,end-sector" to /.fsckme.flg, where 'start-sector" is the sector at which the system partition starts, and "end-sector" is the last sector of the unallocated space immediately past the system partition. <br /> <br />On a reboot, /sbin/init will read /.fsckme.flg and will recognise the label "MAXSIZE", and will create a ramdisk, switch-root into it, then grow the system partition, check the filesystem, then grow the filesystem to fill the bigger partition. <br /> <br />This only works for ext2, ext3 and ext4 filesystems. f2fs does not support filesystem resizing. So in the case of f2fs, the checkbox won't appear in QuickSetup, that is, there won't be an offer to grow the partition. <br /> <br />I haven't actually tested it yet. <br /> Offline GPS tracking with phone Light I will be taking off soon on another hike. On the last walk, I lost the track a couple of times, so I need GPS tracking for hiking further afield. <br /> <br />These days, a dedicated GPS device is not needed, a smartphone will do. Or so I am lead to believe -- I am a complete newby in this area. <br /> <br />I read reports in some bush walking forums, and came up with a short list of GPS apps for Android. <br /> <br />Then I narrowed it down to one, AlpineQuest. Firstly, I tried the free Lite version, really loved it, so paid US$9.99 for the Full version. <br />Note, I first uninstalled the Lite version, then installed the Full version. <br /> <br />I got it from the Google Play Store: <br /><a href=></a> <br /> <br />My main interest is the Bibbulmun Track, and lots of maps are available. Apparently, these are automatically cached locally, for off-line use. I will soon be testing that, as the walk that I intend taking very soon will be mostly where there is no mobile signal. <br /> <br />Here is the website for AlpineQuest: <br /><a href=></a> <br /> <br />I have just done a quick test print. Showing the Bibbulmun Track running East from Mundaring Weir: <br /><img src= /> <br /> <br />The green square on the right is the Perth Hills Discovery Centre. <br /> <br />There are many different maps that can be chosen, and they can be overlaid, with variable opacity. In the photo, I have chosen highlighted hills overlay. Another choice would be contours. <br /> <br />Of course, once I am there, my location will be shown as well. <br /> Evince 2.32-patched for Quirky armv7 Linux The current build of Quirky, 8.0.25, for the Raspberry Pi2, Pi3 and Odroid XU4, has Evince from the Ubuntu repository. <br /> <br />This requires GTK3. I am trying to eliminated GTK3 dependency, as for Quirky in my x86_64 builds. <br /> <br />Another thing, I don't like the user interface of the latest Evince. The user interface of the old GTK2 version is more usable in my opinion. <br /> <br />The last version of Evince that supports GTK2 is 2.32, however, there are some patches to bring it "up to date". <br />These patches can be found at various places in the Internet, search for "evince2-light". The '02_libice.patch' patch is out of the Ubuntu 2.32 source package "0ubuntu2". <br /> <br />This is how to compile, or rather how I did it in Quirky: <br /><pre><code># patch -p1 < ../0001-tiff-fix-compile-warning.patch <br /># patch -p1 < ../02_libice.patch <br /># patch -p1 < ../kill-missing-gconf-complaints.patch <br /># patch -p1 < ../libview-crash.patch <br /># patch -p1 < ../update-poppler.patch <br /> Don't depend on gnome-icon-theme... <br /># sed -i '/gnome-icon-theme/d' configure <br /> <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=armv7l-unknown-linux-gnueabihf --without-keyring --disable-scrollkeeper --disable-dvi --disable-djvu --disable-nautilus --disable-dbus --with-gtk=2.0 --disable-comics --without-gconf --enable-pixbuf --disable-gtk-doc-html --disable-help <br /># sed -i '/gnome-icon-theme/d' configure <br /># make <br /># new2dir make install</code></pre>< <br /> <br />I will upload these to my own source repo on ibiblio soon. <br /> Quirky 8.0.25 alpha for Raspberry Pi2 and Pi3 Linux The previous builds were "pre-alpha". Build 8.0.25 is at least good enough to be classed as "alpha quality". <br /> <br />Get it from here: <br /><a href=></a> <br /> <br />Next on the to-do list: <br /> <br /><i>1. Compile last GTK2 version of Evince (PDF viewer). <br />2. Refine audio configuration.</i> <br /> <br />Read pre-alpha release notes here: <br /><a href=></a> <br /> <br />Feedback here: <br /><a href=></a> <br /> Another warning about systemd Linux Puppy forum member, and developer for Fatdog, jamesbond, posted this link on the Puppy Forum: <br /> <br /><a href=></a> <br /> <br />Puppy, Quirky, Fatdog, and all other Puppy-derivatives do not have systemd! <br /> shared-mime-info rolled back to 0.90 Linux For all Quirky builds for the x86 and x86_64 platforms, I have used 'shared-mime-info' package version 0.90, compiled in T2. <br /> <br />However, for the armv7 builds, for the Raspberry Pi2 and pi3, and the Odroid XU4, I have used the DEB package, which is version 1.5. <br /> <br />I found that some mime types have been changed, for example, DEB files have changed from "application/x-deb" to "application/vnd.debian.binary-package". That I can live with. <br /> <br />Note, that particular change was submitted to IANA in 2014: <br /><a href=></a> <br /> <br />What has alarmed me is that some text files are now being mis-identitifed as "application/octet-stream", that is, binary files. Which they definitely aren't. <br /> <br />I hit this when chasing down a bug with Quirky on the Pi2. Line 18 in /usr/sbin/ has this this: <br /> <br /><i>. /root/.packages/DISTRO_PKGS_SPECS</i> <br /> <br />Just including a text file, but it failed, with the error message: <br /> <br /><i>cannot execute binary file</i> <br /> <br />Yikes! shared-mime-info is the culprit. <br /> <br />My solution is to compile "good old" 0.90 and create a PET. This PET will now be used in ARM builds of Quirky. <br /> Bluetooth adaptor works on Pi2 Linux I recently ordered a bluetooth USB adaptor from Amazon: <br /><a href=></a> <br /><img src= /> <br /> <br />I am pleased to report that it works out-of-the-box, with Quirky 8.0.23. <br /> <br />I developed Bluepup, which is a GUI for making buetooth connections, and there is also a tray applet. <br /> <br />I plugged in the bluetooth adaptor, clicked the icon n the tray, then clicked on the button to pair with my keyboard. It asked for a number to be typed in, then it was paired. <br /> <br />I did a reboot, the keyboard is still paired. Though, there is a little bit of reluctance a first, had to type a few keys before the pairing occurred. Maybe that is normal. <br /> Wifi adaptor works on Pi2 Linux I posted recently, ordered Linux-compatible wifi and bluetooth USB adaptors. The couple of wifi adaptors that I already own require third-party drivers to be compiled. The Panda PAU05 wifi adaptor is what I ordered: <br /><a href=></a> <br /><img src= /> <br /> <br />I can confirm that it works out-of-the-box. Running my latest build of Quirky, 8.0.23. <br /> <br />The only thing is, I had to set the CRD (Country Registry Domain) to "AU", as my wifi hotspot broadcasts on channel 12. <br />I think that this is recognised as a bug in the Pi, as the default CRD, "00" should recognise channel 12. This has been the case in all computers that I have used, until now. Probably a bug in the firmware. <br /> <br />Quirky now enables setting of the CRD in the QuickSetup window, that appears on first bootup. <br /> <br />I am posting from my Pi2 right now. <br /> Considering Canon PowerShot G9 X camera Light For years I have been taking less-than-adequate photos. I take photos on my hiking excursions and various equipment setups. <br /> <br />Next year I will be traveling internationally and to the Eastern States of Australia, and I plan to write a travelogue, with lots of photos. <br /> <br />I have owned a couple of digital cameras, very cheap ones. The main complaint that I had with them was poor indoor shots, in particular hunting during auto-focus -- those cameras did not offer the alternative of manual focus. <br /> <br />I gave away my last camera, and for the last couple of years have been using my phone. Which is very mediocre for indoor shots. <br /> <br />So, what is out there, that ticks all the boxes? I want highly portable (pocketable), very large CMOS sensor, optional manual focus, USB-recharging. Still shots, not so concerned about video performance. <br /> <br />The problem is, I have found "just the right" camera, but it is not cheap. It is the Canon PowerShot G9 X, and costs between AU$500 -- AU$700. <br /><img src= /> <br /> <br />What I really like is the touchscreen. Having become familiar with using the camera on my phone, I love being able to just touch somewhere on the screen to set focus at that point -- which the Canon G9X also supports. <br /> <br />Reviews: <br /><a href=></a> <br /><a href=></a> <br /> <br />For such a tiny camera, it has a very large CMOS sensor, 1 inch, which is 15.85x13.2mm. Information on sensor sizes: <br /><a href=></a> <br /> <br />Don't know if I will actually buy it though, currently just "window shopping". <br /> Good old eth0 got renamed Linux Running Quirky on the Odroid XU4, when I launched SNS (Simple Network Setup), it identified the network interface as 'enx*' (where the * is a long string), instead of the old familiar 'eth0'. <br /> <br />Explanation of why is given here: <br /><a href=></a> <br /> <br />How to get 'eth0' back is explained here: <br /><a href=></a> <br /> <br />The kernel knows the interfaces as eth0, eth1, etc., and the culprit that changes the names is the udev rule: <br /> <br />/lib/udev/rules.d/80-net-name-slot.rule <br /> <br />The udev package (actually, 'eudev' in the case of Quirky, 'systemd' for most other distros) provides the rules in /lib/udev/rules.d. <br /> <br />Any of these can be overridden in /etc/udev/rules.d. <br /> <br />However, in Quirky I don't just use the rules from the udev package, instead I have a cutdown set in /etc/udev and /lib/udev. <br />So, I have just removed 80-net-name-slot.rules. <br /> <br />I have just finished compiling the 3.10.103 kernel for the XU4, running it right now. And, oddly, the old naming has come back anyway, I didn't have to remove that rule. <br />But, I have removed it, so it won't be in woofQ builds. <br /> Kernel 3.10.103 for Odroid XU4 Linux I posted about compiling the 4.8.0rc Linux kernel for the Odroid XU4: <br /><a href=></a> <br /> <br />They worked, but audio, wireless and usb3 are broken. And who knows what else? <br /> <br />The 3.10.x source however, is very mature. It has been heavily patched to work with the Odroid boards. <br /> <br />My main reason for wanting to move up to a later kernel, is I wanted Overlay FS. However, if I am going to compile the kernel myself, why not patch with Aufs, as have always done. <br /> <br />So I downloaded the Aufs patch, which I found here: <br /><a href=></a> <br /> <br />And downloaded the Odroid kernel source: <br /><a href=></a> <br /> <br />...see how active it is, the last commit 7 days ago. <br /> <br />Hey, I discovered that the Odroid source already has Aufs! <br /> <br />I have shoehorned the Odroid source into my standard build scripts, and the kernel is compiling now. <br /> TP-Link Ethernet-wifi adaptor Linux On-going testing of Quirky on the Odroid XU4. <br /> <br />I reported that I could not get any of my USB-wifi adaptors to work. There is another one on its way from Amazon, however, I want to get online now. <br /> <br />So I bought one of these, a TP-Link 300M Range Extender: <br /><a href=></a> <br /><img src= /> <br /> <br />Lovely product, easy-peasy to connect to my wifi hotspot. It comes with an ethernet cable, which I plugged into the Odroid, ran SNS to choose the ethernet interface, then ran the web browser, a few clicks and enter the wifi password, and I was online. <br /> <br />The great thing about this is most of these little arm boards have an ethernet socket, which is ready to go. The XU4 only has three USB sockets, so it is great having them all available for other purposes. <br /> <br />I bought the TP-Link 300M Range Extender, model TL-WA850RE, from my local Kmart store, for AU$49. It can be purchased online a bit cheaper. <br /> <br />Here is a photo of my XU4: <br /><img src= /> <br /> <br />The ethernet cable can be seen, but the TP-Link Range Extender is out of sight behind the monitor. <br /> <br />What you can see in the photo is my Toshiba 1TB hard drive. Yep, it works, but not with the 4.8-rc kernel that I compiled. With that kernel, I can plug in a flash stick and it is recognised, but plug in my 1TB drive and the kernel won't recognise its existence. <br /> <br />On the otherhand, running Quirky with the official-stable kernel, 3.10.96, the 1TB drive works fine. <br /> <br />Which has got me thinking. I wanted a later kernel as I want Overlay FS, however, I might patch the Odroid 3.10.96 kernel with aufs. That will solve my immediate need, to use the XU4 as a host for running woofQ. <br /> Smaller git downloads Linux This is a very useful bit of information. A couple of weeks ago, I downloaded a project from a git repository, and it was 5.5GB, which used up the rest of my monthly data allowance (which is only 12GB, from Virgin Mobile, 4G wireless, using the Optus network). <br /> <br />Now, I want to compile the Linux kernel on my Odroid XU4, and followed the instructionss here: <br /><a href=></a> <br /> <br />Which is: <br /><i># git clone git:// linux_odroid</i> <br /> <br /> started to download, but I did a CTRL-C when I realised it is 5GB. <br /> <br />So, I did a bit of reading, found this: <br /><a href=></a> <br /> <br />The solution: <br /><i># git clone git:// linux_odroid --depth 1</i> <br /> <br />Which is only 59MB. <br /> Quirky running on Odroid XU4 Linux That was easy. Here is a photo: <br /><img src= /> <br /> <br />I am between houses right now, staying in the guest room of a relative's house, with everything setup on a card table. <br />So, everything looks tumbled together. My phone does not take very good indoor photos, which is why the photo looks a bit washed out. <br /> <br />Anyway, you can see on the left, my Pi2 and Pi3, on the right is the Odroid XU4. <br /> <br />I am using the XU4 right now. The wifi adaptor is the "number 3" sold by Hard Kernel (the Odroid vendors), and it "just works". <br /> <br />No sound. Haven't tried anything else, this is the very first bootup. <br /> <br />The kernel is the current official one for the Odroid XU4, version 3.10.96. That is very old and unfortunately the Overlay filesystem was introduced with the 3.18 kernel, so I need to upgrade the kernel. <br /> <br />Later versions are still experimental, but I might have a go at compiling the kernel myself. There are very nice instructions here: <br /><a href=></a> <br /> <br />Though, the developers on the Hard Kernel forum are applying various patches. A lot of Exynox 5422 SoC support has gone into the mainline kernel, so it will be interesting to see how it performs without any patching. <br /> <br />Earlier posts about the XU4: <br /><a href=></a> <br /><a href=></a> <br /> Wifi works on Pi3, take-2 Linux I posted that wifi works on the Raspberry Pi3, but I had to run "iw reg set AU" to see the channels 12 and 13: <br /><a href=></a> <br /> <br />I followed some advice on the Internet, I created /etc/init.d/z-wifi-puppy, with "iw reg set <country>" in it. <br /> <br />Running "iw reg get" will verify the setting, however what I discovered is that it takes up to 8 seconds after running the "set" operation, before "get" reports the correct country code. <br /> <br />So, at bootup, using SNS (Simple Network Setup), rc.sysinit runs /usr/local/simple_network_setup/ ...and the network connection fails. <br />That's because scans and cannot see my wireless network. And that it because of that up-to-8-second delay. <br /> <br />So, I put a wait-loop into <br /> <br />I also found that /etc/init.d/z-wifi-puppy needed that "z-" prefix. When I had "30-" prefix, it did not work. Something else in /etc/init.d has to run first, but I don't know what. It might be the dbus 'messagbus' script. <br /> <br />Hey, the hoops I have to jump through! <br /> Bought the Odroid XU4 Linux As I seem to be getting serious about developing on the ARM platform, I decided that I want an ARM board that is powerful enough for native compiling. <br /> <br />I recently posted about the Hard Kernel Odroid XU4: <br /><a href=></a> <br /> <br />Well, I bought it, arrived today. <br /> <br />First impressions, it is beautiful: <br /><img src= /> <br /> <br />I bought a 64GB eMMC, which is very fast Flash storage, with Ubuntu Mate preinstalled. Plugged in the eMMC, put it into the little case, powered up, it works. <br /> <br />There is a switch, to boot from either eMMC or micro-SD, and my intention is to boot Quirky on the micro-SD and use the 64GB eMMC for general storage. <br />Then there's those two lovely USB3 sockets, into which I plan to plug one or two terabyte-size hard drives. <br />To power the load of up to two external hard drives, I bought the 6A power supply -- it is massive -- in fact, with a micro-USB-plug adaptor it would make a good supply for the Pis -- never have low-voltage again! <br /> Bluetooth, almost there Linux Bluetooth is still broken in Quirky 8.0.18 on the Raspberry Pi3. <br /> <br />I have found a few problems, and discovered a hairy bug -- the special 'hciattach' command to bind hci0 to /dev/serial1, has to be run twice. <br />The first time, it times out, run it again and it reports success. Eventually discovered this, after much frustration. This is a Pi bug. I do recall this problem being mentioned in a forum somewhere. <br /> <br />Have made changes, to the 'bluepup' PET, 'raspberrypi-setup' PET, and in woofQ the files '/etc/rc.d/, /etc/default/bluetooth and /etc/init.d/bluetooth. <br /> <br />Will do another build and test again. <br /> Set country for wifi in QuickSetup Linux I posted about Quirky not being able to "see" a wifi network: <br /><a href=></a> <br /> <br />I have added a dropdown list of country codes in the Network section of QuickSetup. <br />This will tell the kernel which country the user is in, for the purpose of assigning the correct wifi channels, and the selection is set at every bootup. <br /> <br />There is a "Help" button in QuickSetup that explains the technical details and how it is implemented in Quirky. <br /> <br />This mechanism could be added into individual Wireless setup tools, such as SNS (Simple Network Setup) at a later stage, if deemed necessary. <br /> Quirky 8.0.18 alpha for Pi2 and Pi3 Linux Major advances! <br /> <br />Read the release notes here (scroll down to the 8.0.18 notes): <br /><a href=></a> <br /> <br />Yes, Libreoffice! <br /> <br />Download from ibiblio: <br /><a href=></a> <br /> <br />Forum feedback here: <br /><a href=></a> <br /> Wifi works on the Raspberry Pi3 Linux An exciting moment! <br /> <br />I have just booted up Quirky 8.0.18 (alpha) on my Raspberry Pi3, and was able to connect to the Internet via the wifi hotspot on my Mlais M52 phone. <br /> <br />I have already posted why the Pi3 was not seeing my wifi hotspot: <br /><a href=></a> <br /> <br />After bootup, I opened a terminal and typed "iw reg get" and it reported "country 00". <br /> <br />So, I typed "iw reg set AU", then ran my SNS (Simple Network Setup). A scan showed my network (curiously, none of my neighbours networks showed up), and I was online. <br /> <br />Posting from my Pi3 right now, running SeaMonkey. <br /> <br />I need to build this country-code setup into Quirky. That is high on the to-do list. <br /> Wifi channels Linux The Raspberry Pi3 has wifi built-in. Unfortunately, it cannot see my wifi network. <br /> <br />I am using my Mlais M52 phone as a wifi hotspot for Internet access. Running SNS (Simple Network Setup) in Quirky Xerus on the Pi3, a scan shows three neighbours wifi networks, but not mine. <br /> <br />This is very mysterious. I did encounter this problem with a friend's laptop when she visited my place, running Windows 7 or 8, a year or so ago -- never found out why. <br /> <br />I reported this on the Puppy Forum, and forum member 'pakt' replied that his Mlais M52 worked: <br /><a href=></a> <br /> <br />Frustrating! But note something in his post: his hotspot is using channel 11. <br /> <br />I am not the only one who has experienced this problem with the Pi3. This is a post, which also identifies the cause of the problem: <br /><a href=></a> <br /> <br />...channels 12 and 13 don't work! <br /> <br />I haven't checked yet, but it is highly likely that my hotspot is using channel 12 or 13. Now, I could change the channel on the phone, or I suppose that's possible, haven't looked into it yet. <br /> <br />However, the above link states that installing the 'crda' DEB package fixes the problem. <br /> <br />Here is a very useful link, that explains about crda, and how to set it up in Linux: <br /><a href=></a> <br /> <br />You need to tell Linux what country you are in, using crda (and you need the 'iw' package installed), so the wifi will use the channels allowed in your country. <br /> <br />Here is further information on the two-character country codes: <br /><a href=></a> <br /> <br />I think that what I need to do is add selection of the appropriate country-code somewhere, maybe in QuickSetup. <br /> <br />Note, the Linux kernel needs to be configured to support crda. <br /> Pi3 bluetooth, almost Linux I am on the track of getting Bluetooth working in the Raspberry Pi3, and then the Pi2. <br /> <br />Running Quirky, there was no Bluetooth controller found. After some research, and looking at Raspbian, I discovered a udev rule is required, and from systemd I found that 'hciattach' has to be run. Then I found that extra firmware is required. <br /> <br />So far, have got the controller working, or at least responding. <br /> Wireless adaptor that works OOTB Linux As I have just posted, I have two USB wifi dongles that are not supported by the kernel, and need to compile third-party drivers: <br /><a href=></a> <br /> <br />For ongoing testing purposes, I need one that works, with a driver in the official Linux kernel. <br /> <br />So, I have just ordered this, the Panda PAU05: <br /><a href=></a> <br /><img src= <br /> /> <br />It doesn't support 5GHZ, but that's OK. <br /> <br />I also ordered a Bluetooth dongle, again I want driver support in the official kernel: <br /><a href=></a> <br /><img src= /> <br /> D-Link DWA-131 USB wifi adaptor Linux I bought this today. After running 'lsusb', I found it is interface '2001:3319', which is a rtl8192eu chip. <br /> <br />There is no driver for this in the 4.4.x Linux kernel. <br /> <br />I found very useful info here, with a link to driver source: <br /><a href=></a> <br /> <br />I downloaded the driver from here: <br /><a href=></a> <br /> <br />Note, another site is here: <br /><a href=></a> <br /> <br />After installing the kernel source PET, I compiled it on my laptop, running Xerus64. Haven't tested it though, only ran "ifconfig -a" to verify that the wlan1 interface exists. <br /> <br />I don't have the correct source for the 4.4.19-v7+ kernel used in my Pi build, so cannot yet compile on the Pi. <br /> <br /> Quirky 8.0.11 pre-alpha for Pi2 and Pi3 Linux The first pre-alpha build of Quirky for the Raspberry Pi2 and Pi3 was announced several days ago: <br /><a href=></a> <br /> <br />Version 8.0.11 is the second pre-alpha, though it is looking better than the "pre-alpha" designation. Probably the next upload will jump to "beta". <br /> <br /><b>Read about it here:</b> <br /><a href=></a> <br /> <br /><b>Download</b> <br /><a href=></a> <br /> <br />You will need a 8GB or greater micro-SD card. <br /> <br />Note, there is a 'devx' PET, if you want to experiment with compiling. <br /> <br /><b>Feedback</b> <br />To ask questions, report bugs, and especially report bug fixes, here is a thread on the Puppy Forum: <br /><a href=></a> <br />(8.0.11 discussion starts on page 3) <br /> Organizing SD-cards Linux I am currently using micro-SD cards for developing Quirky on my Raspberry Pi2 and Pi3. <br /> <br />The problem is, it was getting very confusing just what is on what card. I have had this problem before, but now it is worse. <br /> <br />I have various builds of Quirky on some 8GB micro-SD cards, one with James' Fatdogarm, plus a couple of other larger-capacity cards. <br /> <br />You can't write much on these tiny cards, so I have worked out a system. I use a permanent marker pen (Camlin CD-DVD marker pen actually) and just write one unique number on the card. <br /> <br />I bought one of these, a J.Burrows card holder, for AU$5: <br /><a href=></a> <br /><img src= /> <br /> <br />Note, the lass in Officeworks informed me that J.Burrows is their in-house brand, and being superceded by the name "InSystem", so now they have: <br /><a href=></a> <br /> <br />I have kept the full-size SD-card adaptors for the micr-SD cards, and keep the adaptors in the J.Burrows holder, along with a slip of paper, with the number written on it, and details of what is on the card. <br /> <br />It is easy enough to pull out the slip of paper and write in new details when the card gets changed. <br /> <br />Simple system, I now don't get the cards confused. <br /> <br />When I was trying to figure out how to organize the cards, I ordered this holder from Amazon: <br /><a href=></a> <br /><img src= /> <br /> <br />It hasn't arrived yet. This is an alternative way to organize the cards. There is a surface to write-on on the back, which apparently is plasticy, so with the appropriate temporary marker pen, I guess the labels could be erased. <br /> <br />For me, it is looking like my first solution is the best. The J.Burrows holder is bulky, but holds up to four Flash sticks, so is a handy thing for when I am traveling, to keep all my memory devices together. <br /> Buildroot again Linux I want to compile Busybox statically, for armv7. Previously, I have done this using uClibc and Musl, for x86. <br /> <br />Earlier this year I worked with Sabotage Linux, a Musl-based distro, and I contributed many new packages to the project. <br />Busybox compiled, but it was a lot of trouble, and some applets had to be disabled. <br /> <br />uClibc on the other-hand, compiles Busybox without any problems. On previous occasions, I have used Landley's Aboriginal Linux ready-to-go chrootable x86 root filesystem. <br /> <br />Cross-compiles are, in my experience, a headache. Anyway, I decided to give Buildroot a go on my laptop, x86_64, doing a cross-compile. <br />All went well, until a failure caused by "-Werror" in a Makefile. Easy to fix, and onward-ho. Then there were failures due specifically to it being a cross-build, reading headers in the host system that specified invalid armv7 asm code. <br /> <br />Enough of cross-compiling. I now have Buildroot running on the Pi3. using that 64GB Emtec Click3.0 stick, so very very slow. <br />I will report back later today. <br /> <br />Buildroot home page: <br /><a href=></a> <br /> <br />Notice the blurb: <br /><i>Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation</i>. <br /> <br />For me, it failed even though I left it at the default package selection, basically just changed the target architecture from i386 to cortex-a7 (armv7), and substituted my own .config file for Busybox. <br />Failures occurred while compiling Busybox. I didn't try the default Busybox .config, perhaps that does compile, which was probably achieved by disabling some applets and maybe some other config choices. <br /> SanDisk Extreme 64GB Flash stick Linux I posted earlier, bemoaning the slowness of my Emtec Click3.0 64GB USB3 Flash stick, with a measly read speed of 20MB/s: <br /><a href=></a> <br /> <br />eMMC Flash technology can do read speeds of about 140MB/s. This technology is found in solid state drives (SSD), and I thought that it would also be in top-of-the-range USB Flash sticks, but at a price. <br /> <br />So, I looked at Officeworks, and found this: <br /><a href=></a> <br /> <br />...hmmm, AU$111. <br /> <br />Apparently, this Flash stick has the same technology as in SSDs. Here is the manufacturer's page: <br /><a href=></a> <br /><img src= /> <br /> <br />I looked online, found the cheapest here, AU$44.95 ($49.34 including postage): <br /><a href=></a> <br /> <br />, I ordered it. Immediately after ordering, the website shows as out-of-stock, so I hope they have got that right and I have indeed got the last one -- I have had the experience of an online store saying in-stock, only to find it isn't after placing the order. <br /> <br />I am keen to get hold of this and test its speed! <br /> Odroid XU4 looks good Linux I currently have woofQ, my Quirky build system, on an Emtec USB3 64GB flash stick. This is so I can run it either in my laptop or in my Pi2 or Pi3. <br /> <br />The problem is, it is so pathetically slow. I reported earlier today that the Emtec Click3.0 64GB stick is very slow compared with my Samsung USB3 flash stick, but flash media just doesn't cut it. <br /> <br />Unless it is the special design of a solid state hard drive. I think they use eMMC technology, which is very fast. <br /> <br />I currently own 1TB and a 2TB USB3 hard drives, and what I would really like to do is be able to move them between my laptop and my ARM board. <br /> <br />Hence, this is looking good, Odroid Xu4, with two USB3 sockets: <br /><a href=></a> <br /> <br />But oh my, it has a fan! <br /><img src= /> <br /> <br />However, a passive heatsink is available, though it does require the case to be cut out: <br /><a href=></a> <br /><img src= /> <br /> <br />The board comes with a 4A power supply, however, that is inadequate if an external hard drive is to be used, of magnetic platter type. Instead, this 6A supply is required: <br /><a href=></a> <br /> <br />This is serious horsepower. If I am going to get back into ARM development, the Odroid XU4 is very tempting. <br /> <br />Three USB sockets though, is disappointing. I might have to use a USB hub. There is no built-in bluetooth or wifi, again disappointing, so I would need to plug them into USB sockets, leaving only one free socket. <br />If only they could have fitted in one more USB2 host socket! <br /> USB3 flash stick, take-3 Linux I reported on a speed test of a Samsung USB3 stick: <br /><a href=></a> <br /> <br />...I got about the same read speed, of 30MB/s, regardless whether plugged into a USB2 or USB3 socket. <br /> <br />Recently, I purchased a 64GB Emtek Click3 USB3 stick, from Officeworks. I ran the same test, on the same laptop: <br /> <br /><i>> hdparm -t --direct /dev/sdc</i> <br /> <br />...and got 20MB/s, for both USB2 and USB3. <br /> <br />What a difference! Testing a reasonable quality USB2 stick, I get 12MB/s, so the Emtect is better, but is far short of the Samsung. <br /> Quirky pre-alpha on Raspberry Pi2 and 3 Linux Read about it here: <br /><a href=></a> <br /> <br /><b>Download</b> <br /><a href=></a> <br /> <br />You will need a 8GB or greater micro-SD card. <br /> <br /><b>Feedback</b> <br />To ask questions, report bugs, and especially report bug fixes, here is a thread on the Puppy Forum: <br /><a href=></a> <br /> Quirky boots in 9 seconds on Pi3 Linux Well, I just counted mentally, didn't use a stop-watch. Got 9 seconds, for the desktop fully loaded. <br /> <br />I have upgraded to the 4.4.19 kernel, and did a test build, ran woofQ on my Pi2, so as to build a distro natively. <br /> <br />Works on both Pi2 and Pi3. Which I reported on yesterday: <br /><a href=></a> <br /> <br />I have posted about this to the Puppy Forum, but that is Fatdogarm thread, so really need to create a new thread: <br /><a href=></a> <br /> <br />I reported earlier that the old armv6 PETs that I compiled on my Pi1 work: <br /><a href=></a> <br /> <br />Um, well, no they don't. Some of them give that "not an executable" with ldd, even statically compiled binaries. <br /> <br />So, there are 22 armv6 PET packages that I was using. Today will recompile all of them for Quirky Xerus armv7. At this stage, have to do it manually. <br /> <br />But, the latest build looks real good, so not far away from a release. <br /> <br /> Cheap wired keyboards Linux for the discerning buyer of cheap wired USB keyboards, this is my experience. <br /> <br />A couple of years ago, I purchased a wired keyboard made by Be Inc., from BigW. This looks like it: <br /><a href=></a> <br /> <br />It looks the same, but I cannot confirm it is the same model as mine, as mine went into the trash bin recently. <br /><b>EDIT:</b> found the docs, yep the one I binned is the same model. <br /> <br />Quoting from the web site: <br /><i>features durable keys that are designed to withstand prolonged use</i> <br /> <br />Actually, the keys are weird, there is a kind of scraping sensation when they are pressed. <br />However, it is the Enter key that made me trash it -- the design is such, that if pressed slightly off-centre, it sticks down, which then auto-repeats enter characters. Not good! <br /> <br />The Be keyboard is only AU$14, however, yesterday I bought a J. Burrows wired keyboard from Officeworks for only AU$8: <br /><a href=></a> <br /><img src= /> <br /> <br />And I am so surprised. The keys have nice travel, and feel very smooth when pressed. The Enter key performs well regardless of being pressed on-centre or off-centre. <br /> <br />Will the J. Burrows keyboard stand up to prolonged use? That remains to be seen. Off to a good start though. <br /> armv7 PETs for Quirky on Pi2 and Pi3 Linux I reported recently that armv7 PETs that I compiled on the Mele board, back around 2012, don't work on the Pi2 and Pi3. Note, they did work on my Odroid-X board. <br /> <br />Those old armv7 PETs are here: <br /><a href=></a> <br /> <br />However, the old armv6 PETs that I compiled about the same time, do work on Pi2 and Pi3: <br /><a href=></a> <br />So, I have copied them here, for Quirky builds: <br /><a href=></a> <br /> <br />I have had to manually compile many packages for armv7, on Pi2, running Quirky Xerus, here they are: <br /><a href=></a> <br /> <br />Right now, my Pi2 is running on the desk alongside my laptop, executing '3builddistro' in woofQ, and hopefully will build a working "QuirkyPi". <br /> <br />This "QuirkyPi" has rather a lot of the old armv6 PETs in it. I shall find out how many of them actually still work, and I am sure many of them will need to be upgraded. <br /> <br />I am not quite sure how far away I am to releasing QuirkyPi (will this name stick?). Maybe even if it has some rough edges, I could release it as an alpha build. <br /> Overlay f.s. instead of aufs Linux The layered filesystem Aufs is great, it underpins the architecture of Puppy linux, for frugal installs, etc. Aufs superceded the much older and now defunct Unionfs. <br /> <br />Aufs is available as a patch for the Linux kernel, however something else called Overlay fs made it into the official kernel source. Overlay is not as capable as Aufs. <br /> <br />Currently with "QuickyPi", I am using the standard pre-compiled kernel (right now, using 4.4.19), which does not have Aufs, only Overlay. <br />Note, the kernels compiled for puppies, at least as far as I know, do not have Overlay enabled, so you can't use it, only Aufs -- ditto for Quirky prior to now. <br /> <br />I want to change over to using Overlay in Quirky. The first step, is I want to run woofQ from a Pi2 or Pi3, with only Overlay available. The scripts '2createpackages' and '3builddistro' make use of Aufs during build of the distro, so I have modified those scripts to use Overlay, if the kernel supports it. <br /> <br />Later on, I will have to look at frugal install of Quirky, which currently uses Aufs. <br /> <br />Note, the reason that I am running woofQ in the Pi, is to do a native build of the Quirky distro. This has certain advantages, such as being able to chroot into sandbox3/rootfs-complete (which 3builddistro does in a few places) -- otherwise, 3builddistro does a "cross build", which delays certain operations until the Quirky distro is booted on a Pi -- resulting in a very slow first bootup. <br /> Bluetooth keyboard and mouse Light The saga continues. I have a collection of bluetooth keyboards and mice. <br /> <br />I have an interest in using them with my phone, see this post in May 2015: <br /><a href=></a> <br /> <br />Now for the 2016 attempt! The Logitech T630 touch mouse is OK, but there is no operating system, apart from Windows, that can use its special touch features, such as pinching. <br /> <br />What I really want is a "normal" mouse, with roll-wheel, USB-rechargeable Bluetooth. This is what I have just bought: <br /><a href=></a> <br /><img src= /> <br /> <br />One of my cheap Bluetooth keyboards just died, without hardly any use. The one I like best, and still working, is the HB-2000, see link at top, however, construction is sub-professional. <br /> <br />So, having another go. I have just bought this, USB-rechargeable folding keyboard, made by Audiosonic: <br /><a href=></a> <br /><img src= /> <br /> <br />It looks really well made, and comes with a neat little stand to hold your phone at an angle -- too small for tablets probably. <br /> <br />I haven't actually used these yet. This is the latest to be tested in my on-going "traveling light" series. <br /> Quirky desktop on Pi2 and Pi3 Linux Oh oh oh, this is such a delight to see! <br /> <br />I earlier reported that I was only able to boot to the commandline: <br /><a href=></a> <br /> <br />Quirky Xerus is now running the desktop on both the Raspberry Pi2 and Pi3. <br /> <br />Boots so incredibly fast, very snappy performance. Wonderful to be using Quirky on a big TV screen. <br /> <br />As I reported before, my armv7 PETs from 2012 to 2013 don't work. I don't know why. I think that I compiled them on the Mele board. <br />I don't have an automated compile system for ARM, not yet anyway, so compiling them manually. Hopefully, I can do this over the next couple of days, and release "Quirky Arm" soon. <br /> MBeat Gorilla 4-port USB charger Linux I bought a 4-port USB charger, on sale at AU$30: <br /><a href=></a> <br /><img src= /> <br /> <br />Reason is, I only had a 1A USB charger, not enough for my Pi3. The Gorilla has two ports rated at 2.4A and two rated at 1A. <br /> <br />Throw in the adaptors, and I am ready for international travel. <br /> <br />There are cheaper chargers at and, however the one that particularly interested me on was tested by one guy to have 6.5V output -- too high! <br /> <br />Android smartphones have over-voltage detection that cuts in at about 6V, and any higher, the phone won't charge at all. <br /> <br />So I ended up going to a local Harvey Norman store -- not renowned for cheapness, but they have good buys at sales. <br /> Quirky on Pi2 Linux I have got Quirky Xerus running on the Raspberry Pi2, sort of. <br /> <br />"Sort of" because I have got to the commandline, no X yet. There is a mystery here. To get to the commandline, I had to replace my 'busybox' and 'mingetty' PETs with DEBs from the Ubuntu 'armhf' repository. <br /> <br />Because, 'ldd' reported /bin/busybox and /sbin/mingetty to be "not a dynamic executable". These PETs are from my ARMV7 repo that I used for the Mele and Odroid boards back in 2013: <br /><a href=></a> <br /> <br />Now, none of those executables work! <br /> <br />/usr/bin/jwm is the same, won't run, which is why I don't yet have a desktop. <br /> <br />Well, at least having a commandline, I can compile some source packages, such as jwm, then get the desktop. <br /> <br />I would like to know what is wrong with my old armv7 PETs. They were compiled for a 2.6.16 kernel, maybe that's it. <br /> Installing MaruOS 0.2.3 Linux A quick report on installing Maru OS to the Google LG Nexus 5 phone -- very easy. <br /> <br />I have a brand new Nexus 5 (international version, model D821), that I purchased from Hong Kong. It cost me AU$200 including postage, very cheap, it pays to buy a phone that is a year or two out-of-date! <br /> <br />Got it from "linda1023" on ebay, and I see it is now only AU$178: <br /><a href=></a> <br /> <br />The phone works, but odd, the language is not English, looks like Russian, but easy enough to change to English. <br /> <br />I plugged it into a USB port on my laptop, and had to turn on "Developer mode", then "USB debugging", as explained in the HELP file (after unzipping the download). <br /> <br />The Maru download is from here: <br /><a href=></a> <br /> <br />I have 0.2.3, the latest installer, though there are later bug fixes in github. But, taking baby steps. <br /> <br />After expanding the zip file, running Quirky Linux (Xerus 8.0), and enabling USB debugging on the phone, it was then a very simple matter of running "", as explained here: <br /><a href=></a> <br /> <br />It is Android 5.1.1, absolute vanilla flavoured. The lack of Google stuff such as gmail app and app-store app appeals to me. <br /> <br />So far, just playing with the phone, looks like a pretty normal Android. Have not yet tried an external monitor! <br /> MaruOS on github Linux The developer of MaruOS has uploaded everything to github, on August 11. So, now MaruOS is completely open sourced and ready for developers to get stuck in! <br /> <br />In summary, MaruOS runs Android on a phone, and simultaneously Ubuntu on an external monitor. <br /> <br />I have written about MaruOS previously: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />In anticipation, I have purchased a Nexus 5, the only phone that works with MaruOS, for now anyway. Note, not the Nexus 5X. <br /> <br />Github repo: <br /><a href=></a> <br /> <br />Developer guide: <br /><a href=></a> <br /> <br />Developer blog: <br /><a href=></a> <br /> <br />What is going to be very exciting, is to get the Superbook to work with MaruOS! <br /> Samsung Note 7 General I have been thinking that sometime early in 2017 I might buy a new smartphone. I was thinking maybe will finally buy a Samsung Note. But, no, they have lost me. <br /> <br />It's that curved screen: <br /><a href=></a> <br /> <br /><img src= /> <br /> <br />The S-Pen on a flat screen makes sense. The curved edges are just a sales gimmick, bling. Distracting and totally useless. <br /> <br />A Samsung fanperson is trying to say that critics of the curved screen are "just flat wrong": <br /><a href=></a> <br /> <br />...but the article does not present any justification at all to support why the edge is a good thing for the Note. Nothing at all. <br /> Andromium Superbook Light I am a sucker for an innovative new project! <br /> <br />I have pledged US$99 (actually US$134 including postage to Australia) for the Andromium Superbook. Kickstarter project here: <br /> <br /><a href=></a> <br /> <br />I reported on Andromium back in May 2015: <br /><a href=></a> <br /> <br />Very interesting, perhaps the Superbook can be used for other projects, such as Maruos and Ubuntu Touch. Well, quite likely it can. <br /> <br />Of course one does have to contrast this with the cost of a basic laptop, that I can buy locally for AU$250 - AU$300, onto which I could install Linux. <br /> Field Test 3 Light Every now and again, I go on a hike, because I enjoy it, also to test my gear. <br /> <br />I recently acquired ultra-light tent and backpack, and I have been itching to test them in the field. So, Friday 22nd July, I set off for an overnighter on the Bibbulmun Track. <br /> <br />I introduced my tent, a Nemo Hornet 2P here: <br /><a href=></a> <br /> <br />And my Zpacks Arc Blast backpack here: <br /><a href=></a> <br /> <br />I made some notes on packing of my backpack here: <br /><a href=></a> <br /><a href=></a> <br /> <br />On this occasion, I neglected to weigh the backpack when packed, but I guess it would have been about 6 - 6.5kg. <br />This is a great backpack, all the weight got carried comfortably on my hips, and jumping ahead, I have to report that it stayed in-place on my hips, not once did I have to pull it up -- in contrast to my field test of my GG Pilgrim backpack: <br /><a href=></a> <br /> <br />My walk this time was a loop. I caught a bus to the town centre of Mundaring, then walked south along the Munda Biddi trail to Mundaring Weir. Once again, had lunch at the hotel. <br /> <br />This time, instead of walking east along the Bibbulmun Track, I walked west, heading toward the norther terminus of the track at Kalamunda. <br /> <br />This took me on the west side of the weir. Here I am approaching the weir: <br /><img src= /> <br /> <br />This is down-stream of the weir, and I had to walk right down, then up the other side. At the bottom is the original pumping station, for pumping water by pipeline to Kalgoorlie. This was steam-powered and is now a museum: <br /><img src= /> <br /> <br />looking at the weir, you might be able to see two young fools walking across the face of it. There are small horizontal grooves in the wall, just wide enough for a foot: <br /><img src= /> <br /> <br />Here is part of the above photo: <br /><img src= /> <br /> <br />On the other side of the weir, I walked westward, and came to a lookout: <br /><img src= /> <br /> <br />Delightful scenery, and a lovely sunny but cool day. The lookout provides beautiful views of the weir and below. <br />It was just past here that I misplaced the track. No more wauguls, so I knew that I had missed a turn. Just then, a ranger drove up, and showed where I had gone wrong. <br /> <br />Late afternoon, I arrived at Hewitt's Hill shelter: <br /><img src= /> <br /> <br />Mighty pleased with my backpack so far, now my tent got its turn to be evaluated: <br /><img src= /> <br /> <br />I really don't have much to say about the tent, as it "just worked". Like the backpack. Both are so light, contributed to a very comfortable trek -- the next day, I had hard yakka down and up many valleys, clambering over rocks, and my feet felt fine -- very good sign, the feet not complaining too much. <br /> <br />The Hornet 2P erects very fast, and I put all of my gear inside, including my backpack. Shoes stayed in the vestibule. <br />I used four stakes, the minimum, OK in non-windy conditions. <br /> <br />There was plenty of room for one person. I would not recommend for two, unless you are on your honeymoon. <br /> <br />I did find myself thinking that this tent would be nicer if it was a proper two-pole crossover dome tent, rather than the 3-segment design. This design is to save weight, but does result in the sides caving in. <br />A traditional full two-pole-crosser design, as in my Big Sky Soul tent, would not increase the weight by much. But then, the Hornet 2P is an exercise in achieving lowest possible weight -- even so, I would prefer the full-poles configuration, just to keep those side out a bit more, and also it would be truly free-standing as is the Soul. <br /> <br />Regarding the Soul 1P, there were other things about it that I did not like, such as the narrow-end barely-existing vestibule, and the fact that it is 1P. I wrote about it here: <br /><a href=></a> <br /> <br />I had a pleasant overnight, then next day walked to Kalamunda, then bus to home, via Perth city. That walk was only about 10km, however, it was up and down, and in places very rough and rocky. <br />It took me almost 4 hours. Closer I got to Kalamunda, more people walking the Track, day-trippers. <br /> <br /><b>Conclusions</b> <br />Great backpack, great tent. Though note my musings on the tent, I still don't think it is the "perfect" hiking tent. But, I have spent enough money for awhile, like for the next year. <br /> Update and new PETs from trio Linux Forum member trio has developed some great PETs for tweaking the desktop themes. <br /> <br />I have updated these two: <br /> <br /><b>JWM Theme Maker</b> <br /><a href=></a> <br /> <br /><b>GTK Theme Maker 1.9.4</b> <br /><a href=></a> <br /> <br />There is a new PET created by trio: <br /> <br /><b>SVG Wallpaper Maker 1.8.3</b> <br /><a href=></a> <br /> <br />I have added the latter to the next build of Quirky. <br /> <br />The problem though, is SVG Wallpaper Maker does not yet work in Quirky. It does work, in that I can create a wallpaper, however Qwallpaper does not display it. <br />Also "Setter" button in wallmaker fails, as there is no executable "wallpaper". <br /> <br />...mere details! <br /> <br /> Quirky getting out of root dir Linux Quirky, and all puppies, have heaps of stuff in /root. This came about because we always ran as root, or administrator. <br />I did redesign with everything out of /root when I was working on Sabotage, a musl-based build. However, I abandoned that. <br /> <br />I have started giving the same treatment to Quirky. <br />Today I have moved /root/.packages to /etc/packages. This is where all the package management files reside (as used by the Puppy Package Manager). <br /> <br />I did however, create a symlink from /root/.packages to /etc/packages, in case there are any PETs installed still hard-coded to the old path. <br /> Underdog Easy Linux Linux I am thinking of abandoning the work that I have done so far for Easy Linux, instead go back to the old "underdog" concept. <br /> <br />Underdog is an idea that never really took off. Even though it works well, and is a very easy way to transform any other distro into a Puppy-like distro. <br /> <br />Underdog is an idea that I introduced back in Puppy 2.x, but I reintroduced it to Woof2, the Puppy build system, in 2012, see my blog post: <br /><a href=></a> <br /> <br />In that blog post, there is a link to my now-retired Woof2 repository, which I discovered to be broken. Yeah, Woof2 got broken when I moved accounts about a year ago. <br />A couple of paths needed to be fixed, now Woof2 Fossil repo is functioning. <br /> <br />This is the link that shows the reintroduction of Underdog: <br /><a href=></a> <br /> <br />This capability should also be in Woof-CE, the Community Edition that forked off Woof2 when I retired from Puppy development. Woof-CE was forked in November 2013. <br />Here is the Woof-CE Github repository: <br /><a href=></a> <br /> <br />I can investigate adding Underdog capability to Quirky, my experimental distro. Note, Quirky is built with a fork of Woof2, called WoofQ: <br /><a href=></a> <br /> <br />Underdog capability is not in WoofQ, so I will have to investigate ways of bringing it back. <br /> Electric kit on-the-go Light I have rationalized my electrical and electronic kit down to a very small number of items, and very light. <br /> <br />I have need of telephone, Internet access, GPS, read ebooks, and take photos, all provided by my mobile phone. I also wish to listen to music and news, either streamed from the Internet or by FM radio, and my mobile phone does both -- the latter requires ear pieces as the cable acts as the FM antenna. <br /> <br />I have need of light, for which I have two options, either my mobile phone, or a tiny rechargeable torch that I bought from <br />Note, I sewed a ribbon onto the torch, so it becomes an extremely light-weight head-lamp. <br /> <br />Optionally, depending on where I go, or in an emergency, I need some means of sterilizing water. I could boil it, but currently I am trying a Steripen, the Freedom model, with rechargeable battery. <br /> <br />So, phone, torch and Steripen, each with rechargeable battery, via micro-USB socket. <br />If I have mains access, I have a small power-adaptor. If not, I have a solar panel. Also, a short USB cable. <br /> <br />Here it all is: <br /><img src= /> <br /> <br />This configuration is so flexible, and so light. Actually, the phone in the picture is not the one I normally use, as I took the photo with that. My everyday phone is a bit bigger, with 5.5 inch screen. Here are the weights: <br /> <br /><i>My 5.5 inch phone: 171g <br />Torch, with ribbon: 18g <br />Ear pieces: 14g <br />Power-adaptor, plus USB cable: 43g <br />Steripen, with soft case: 98g <br />Solar panel: 92g</i> <br /> <br />That is a total of 436g. Without the Steripen, it is only 338g. <br /> <br />The solar panel is not intended to be used on the outside of the backpack while walking, instead only used when stationary. I have explained why, and reviewed the panel here: <br /><a href=></a> <br /> <br />I have reservations about the Steripen, as it does not sterilize above the water-line. So water droplets on the inside and outside of the container will not be sterilized -- seems to me that you are gambling each time you use it. Though, if you are careful, the odds are pretty much in your favour. <br /> <br />Here is the manufacturer's page on the Freedom model: <br /><a href=></a> <br /> <br />I bought my Steripen from Travel Universe here in Australia, as it was far cheaper than any other Australian retailer (AU$139): <br /><a href=></a> <br /> <br />This is the USB-rechargeable torch that I purchased from Deal Extreme: <br /><a href=></a> <br /> <br />If you are curious about what phone I use, it is a Mlais M52: <br /><a href=></a> <br /> <br />...not the latest out there, but I love it. It has a 5.5 inch screen, but probably the next phone I buy will have a bigger screen, perhaps up to 6 inches. The bigger screen real-estate is good for browsing the Internet, reading ebooks, and, well, for everything. <br /> Kitchen on-the-go Light I am getting the items together for an upcoming overnight hike. <br />This time I might take my cooking gear, and this post shows what it consists of. <br /> <br />I decided to take my Vargo Triad alcohol stove, that I reviewed here: <br /><a href=></a> <br /> <br />Almost everything packs inside my TOAKS 700ml titanium pot. This photo shows all the items. On the left are items that do not fit inside the pot (spoon, insulite cozy, bag-closer): <br /><img src= /> <br /> <br />The items are windshield, box of matches, collapsible silicone cup, Triad stove, holder for multivitamins, sponge, folding scoop, folding knife, pot with lid, and carry-bag. <br /> <br />I am intending to do very simple cooking, just boiling water for drinks and cup-a-soup, and for making porridge, so I won't take the Big Sky insulated cozy-pouch. Just the spoon. <br /> <br />Notice the cylindrical shaped orange item -- that is a TOAKS titanium wind shield. I have experimented with various windshields, and I really like this one as it is so light, 16gm including bag, and rolls up small enough to fit in the 115mm diameter pot. Manufacturer's page: <br /><a href=></a> <br /> <br />Everything fits inside the pot, and the whole thing, including carry-bag, weighs 250gm: <br /><img src= /> <br /> <br />Not too bad, a complete kitchen for 259gm, including the spoon. <br /> <br />There is one other vital item though, the methylated spirits, which is going to double the weight, thereabouts. For an overnighter, or just a few nights, I could use a smaller bottle. I am currently using a 250ml Selleys wood-glue bottle. With almost-full meths, it weighs 220gm. <br /> <br />Here is a photo of the Selleys bottle: <br /><img src= /> <br /> Carry-on backpack Light A problem with backpacks is they have parts that hang out all over the place. OK when on the back, but not so good otherwise, such as traveling by bus, train or airplane. <br /> <br />I own a Sea to Summit duffle bag, really light (80gm), packs tiny, and just the right size to meet the size requirements for airline carry-on: <br /><a href=></a> <br /> <br />Qantas, for example, has published carry-on maximum dimensions of 56x36x23 cm for economy: <br /><a href=></a> <br /> <br />I have been going through my hiking/travel gear, attempting to reduce the weight and improve functionality. I have recently acquired a new backpack, a Zpacks Arc Blast, 45 litre, short-torso (with lumbar-pad and one waist-pouch), weighing just 650gm: <br /><a href=></a> <br /> <br />My intention is that I be able to insert the backpack inside the duffle bag. The big constraints here are the dimensions, in particular the length. <br />Only the "short torso" Arc Blast meets my requirement. Fortunately, that size fits me very well, and indeed would fit someone with longer torso. <br /> <br />This photo shows the approximate maximum distance from bottom of waist-belt to anchor-point of shoulder straps, 51cm (or maybe a tad more with some effort). This is with a fairly small bow in the vertical rods of about 30mm. <br />The anchor-point can be adjusted further down, and I currently have it set about 20mm below the highest point (so about 49cm from bottom of waist-belt): <br /><img src= /> <br /> <br />The main issue though, is the total length of the backpack. It is about 55cm, with the extension section folded down (part of the bag that can extend above the frame). <br />This is spot-on. A fully-loaded pack, except only filled to height of the frame, fits nicely in the Sea to Summit duffle bag. <br /> <br />Here it is being inserted: <br /><img src= /> <br /> <br />Here I am ready to go: <br /><img src= /> <br /> <br />Of course, I also have the smallest-capacity Arc Blast, rated at 45 litres. That also suits me fine, and is satisfactory even for multi-day treks. But, I travel ultra-light. <br />Note that Qantas specifies 7kg max, some other airlines specify only 5kg. <br /> <br />But even if you don't want to do carry-on, or can't due to what you have in your backpack (such as stakes), it is great to have all the dangly bits tucked away, and inside a lockable duffle bag, for checked-baggage, bus travel, or whatever. <br /> Nemo Hornet 2P tent Light I love so much tweaking my hiking gear, aiming to get the weight down, or improve the functionality. Mid-winter here in Western Australia, July 2016, but as Spring approaches, I will be off on another trek. <br /> <br />I have been fine-tuning my tent requirements. The pyramid type, held up by trekking poles, do not do it for me -- apart from the fact I don't use trekking poles, the fundamental shape, with sides sloping sharply inward, seems very inefficient. <br /> <br />I prefer some kind of dome shape, which means curved poles. Free-standing tents are obviously very convenient, which you get with the crossed-over dome design, not with tunnel-design. <br /> <br />There are various not-quite-dome and not-quite-freestanding designs, and I think that some of these are an excellent compromise. <br /> <br />I have just purchased a tent that hits the sweet spot for me. That ideal compromise. Freestanding (kind of), near-vertical walls near the floor (kind of), superb ventilation, dual-skin, excellent entry-exit options, good vestibules (two), lots of room inside, very fast erection, extreme light weight. <br /> <br />This tent is the Nemo Hornet 2P. <br /> <br />Why buy an exotic Cuben Fibre thing without dual skin, with inefficient pyramid shape, while striving for low weight, when the Hornet 2P has none of the limitations, is cheaper, and hardly weighs any more? <br /><img src= /> <br /> <br />I purchased mine from in the US. Paddy Pallin is the exclusive Australian distributor, however they informed me, when I enquired in June, that it is sold out and no new stock until September. Here is their site: <br /><a href=></a> <br /> <br />...note the AU$649.95 price. Club members get 10% off, and they have bi-annual sales with 20% off. So, I could perhaps get it at AU$520, if I was patient enough. However, had it on sale for US$295, and I used my USA address at Ended up paying about AU$510. <br /> <br />If you are an Aussie, I recommend support your local stores. I would have done, if they hadn't been out of stock for such a long time. <br /> <br />Here is the manufacturer's page: <br /><a href=></a> <br /> <br />There are some reviews that have the first version of the Hornet 2P, which has a 7D fly (outer skin). I have the 2016 version, which has 10D fly. 10D is stronger than 7D, but still incredibly thin fabric. <br /> <br />But Nemo have gone through the entire tent design and reduced everything to the absolute minimum weight. It really is astounding. This is a two-person tent, and poles, fly and inner weigh just 898gm (measured by me) (31.7 ounces). Add six alloy stakes, with bag, at 91gm, and a carry bag at 27gm, brings it to a grand total of 1.016kg (35.86 ounces). <br /> <br />So far, I have only setup this tent in my lounge room. Just checking it out, how to erect, etc. The floor material is only 15D, and I have reservations about whether it will stand up to the rough ground in the Aussie bush. There is a footprint available, but I will probably use my tarp-poncho as a footprint. <br /> <br />Note that I specifically want a "2P" tent, as I want to place my backpack inside the tent. This tent would be very cramped for two people, but a palace for one person. <br /> <br />I will post a proper review after I have taken it out on a trek. <br /> <br />Youtube videos: <br /><a href=></a> <br /><a href=></a> <br /> <br />Review: <br /><a href=></a> <br /> <br />Review of first version (with 7D fly): <br /><a href=></a> <br /> Ubuntu-Mate on Pi3 Linux I recently purchased a Raspberry Pi3: <br /><a href=></a> <br /> <br />I decided to download Ubuntu Mate 16.04 for the Pi3, from here: <br /><a href=></a> <br /> <br />I recently had an underwhelming experience with the Ubuntu Installer, when doing an x86_64 install to my laptop: <br /><a href=></a> <br /> <br />I was expecting a certain standard, a certain degree of polish, from the Ubuntu distribution, so the installer was a disappointment. <br /> <br />Now, I am again experiencing disappointment, this time with Ubuntu's network-manager on the Pi3. <br /> <br />The Ubuntu-Mate URL above, does state that there is a bug with wi-fi. A reboot is required after first bootup, for wi-fi to work. <br /> <br />OK, but I was still unable to connect to my wi-fi network. I was so surprised that network-manager, on the Pi3 anyway, does not have network scanning, that is, there is no presentation of available wi-fi networks. I had to manually enter the SSID!!! <br /> <br />Having done so, only WEP security was offered, not WPA. <br /> <br />I was feeling somewhat disgusted at that point, and turned off the Pi3. <br /> <br />I am going to download Raspbian, even though it is compiled for the ARMv6 architecture (Pi2 and 3 support ARMv7). <br /> <br />Pity that I wasted 1.1GB download. I only have a 4G Internet connection, with 12GB per month. I can purchase additional data, at AU$15 per 1GB. <br /> Easy Linux progressing, slowly Linux For anyone who is interested, just to let you know that I am progressing with Easy Linux, but very slowly. <br />I have a few other things on my plate, but hope to speed Easy development up a bit very soon. <br /> <br />The idea I am working on is to create a Debian/Ubuntu .deb package, named 'easy_<version>-<arch>.deb', to be installed in any Debian or Ubuntu installation, which will transform that installation into a Puppy-like environment. <br /> <br />There has been some discussion about a logo here: <br /><a href=></a> <br /> Build Debian package with Debreate Linux I don't know how well this works yet, have only just installed it, and tested that it does at least start up. Others might find it useful if I document what I needed to do to get this far. <br /> <br />Debreate is a GUI tool to create .deb Debian packages. The intention is to make it easy to knock up any .deb binary package. <br /> <br />Home page: <br /><a href=></a> <br /> <br />I downloaded from SVN, which was last committed on 2015-12-24: <br /><a href=></a> <br /> <br />It is written in wxPython. The requirements are documented in two different files, and src/readme -- that information should have been put together. <br /> <br />Anyway, I am running Quirky Werewolf64 7.4, and I installed this lot: <br /> <br /><i>libgstreamer0.10-0_0.10.36 <br />libgstreamer-plugins-base0.10-0_0.10.36-2 <br />libwxbase2.8-0_2.8.12.1+dfsg2 <br />libwxgtk2.8-0_2.8.12.1+dfsg2 <br />libwxgtk-media2.8-0_2.8.12.1+dfsg2 <br />python-wxversion_3.0.2.0+dfsg <br />python-wxgtk2.8_2.8.12.1+dfsg2 <br />libwxbase2.8-dev_2.8.12.1+dfsg2 <br />libwxbase3.0-0v5_3.0.2+dfsg-1.2 <br />wx2.8-headers_2.8.12.1+dfsg2 <br />wx-common_3.0.2+dfsg-1.2 <br />libwxgtk2.8-dev_2.8.12.1+dfsg2 <br />libfakeroot_1.20.2 <br />fakeroot_1.20.2 <br />gvfs-common_1.24.2 <br />gvfs-bin_1.24.2</i> <br /> <br />...probably not all of those actually needed. <br /> <br />I edited 'Makefile', changed the DESTDIR from "/usr/local" to "/usr". I then ran "make install", which failed. It did install /usr/share/debreate.png and /usr/applications/debreate.desktop, however failed to install /usr/share/debreate/*. <br /> <br />I manually copied all content of 'src' folder to /usr/share/debreate, then created a script /usr/bin/debreate with: <br /> <br /><i>#!/bin/sh <br />cd /usr/share/debreate <br />python</i> <br /> <br />There is a set of videos that explain how Debreate works: <br />Part 1: <a href=></a> <br />Part 2: <a href=></a> <br />Part 3: <a href=></a> <br />Part 4: <a href=></a> <br /> <br />There is also a manual, for an older version: <br /><a href=></a> <br /> China Southern Airlines Ethos A little while ago, I booked a flight with China Southern Airlines. This is a summary of my experience. <br /> <br />I searched for a flight at, and found China Southern to be the cheapest. Instead of booking through an agent, I went direct to their website. <br /> <br />What I found is that most of the pages at <a href=></a> are extremely slow to load or don't load at all. However, the URL <a href= > </a>does work, albeit slowly. My guess is the latter pages are served from somewhere outside China, specifically for the Australian market. <br /> <br />After booking online, there was a statement that confirmation (and my e-ticket) had been emailed to me. Except it wasn't, nothing arrived, not in the spam folder either. After about half an hour, I hit resend, still no email. Fortunately, there was also a link to download the e-ticket as a PDF, and that worked. I never did get those emails. <br /> <br />Prior to booking, I joined their Sky Pearl Club, so as to get flyer points and be able to login to make any changes to my booking. <br />After joining, they sent SMSs, one of which had my login pin number. Three SMSs I think, all in Chinese. Anyway, I found my pin number in one of them. <br /> <br />After booking my ticket, I wanted to choose my type of meal, as I am a vegetarian. However, I found that only Business Class passenger are able to select type of meal online. Everyone else has to telephone them. <br /> <br />One reason that I booked with them, is I carefully read their conditions, and found that I would be able to cancel my ticket (with a "processing fee" of unspecified amount). <br /> <br />My circumstances have changed, and need to cancel my ticket. That's when the fun started. I logged in, clicked the button to change/cancel my booking, entered the relevant information, clicked Submit, and got a server error. So far, I have tried about a dozen times, different times of the day or night, either get a server error or it just hangs after clicking Submit. <br /> <br />Once again, a phone number is provided, to make booking changes. Looks like a number in China. <br /> <br />I have read a lot of online feedback about their phone support. Mixed, many say it is woeful, some had good experiences. It might depend on the English-speaking ability of the person at the other end. <br /> <br />Current situation is, I still have a ticket with them. I guess that I will have to try that phone number. With a great deal of trepidation. <br /> <br />I know, I know, the saying "you get what you pay for". But, this airline has quite a high rating. Odd though, one customer feedback site that I looked at, nearly all of it was 4 or 5 stars, yet there was another site with ratings down around 1 or 2 stars -- on that latter site, one guy said that he wished that he could give negative-star rating. <br /> <br />Um, these have very positive reviews: <br /><a href=></a> <br /><a href=></a> <br /> <br />This one has a lot of one-star reviews: <br /><a href=></a> <br /> <br />Interesting facts page about CSA: <br /><a href=></a> <br /> <br /> Don't trust the Google App Store Ethos This is a worry: <br /> <br /><a href=></a> <br /> <br />I have previously thought that I should only download apps for my Android phone from the Google App Store, as the apps would be checked out before being admitted. <br /> <br />This is adding to the many security concerns that I have about Android. <br /> <br />It almost makes me go out and buy an iPhone. <br /> Don't forget Microsoft's past Ethos The comments here are an interesting read: <br /><a href=></a> <br /> <br />The post from A. J. Venter about 3/4 down the page, is particularly sad. Their enterprise in Africa was destroyed. <br /> <br />I am one of those oldies who remember much of MS's tactics. Let's see, how far back do I have to go... I am forgetting the early Windows version numbers... there was a time, in the 80's, when you had to install MSDOS, then Windows on top of it. Or, you could install Digital Research DRDOS, then Windows -- except that MS upgraded Windows and it refused to install on top of DRDOS, claiming that it was incompatible. <br /> <br />Which it wasn't. I did manage to trick Windows to install on top of DRDOS, and Windows worked fine. <br />It was just MS killing off a competitor. <br /> <br />Ha ha, that was just the start! <br /> <br />About the same time, there was IBM's OS/2, that MS initially pretended to support, but in fact they killed that too. See page 3: <br /><a href=></a> <br /> Installers for Debian vs Ubuntu Linux Today I installed both Debian Jessie 8.5.0 and Xubuntu Xenial Xerus 16.04 on my laptop hard drive. Incredibly divergent experiences using the GUI installers. <br /> <br /><b>Debian Jessie</b> <br />I downloaded the "net install" ISO, 247MB, and dd'ed it to a USB stick. <br />At bootup, chose the Expert GUI installation. <br /> <br />In expert mode, this is a very nice installer. Very logical, with all required choices. In particular, I wanted the option not to install a boot-loader, as I already have one and wanted to do it manually -- the installer gave me that choice. Very good! <br /> <br /><b>Xubuntu Xenial Xerus</b> <br />I downloaded Xubuntu ISO file, about 1.2GB. <br /> <br />The GUI installer came as quite a surprise to me. I haven't used <br />Ubuntu installer for 4-5 years, and I was expecting it to be very polished. However, it is awful. <br /> <br />I wrote some notes, but I need to make a general observation. There is a sloppiness in the thinking of whoever has developed the installer. My notes don't cover everything that I found wrong, or confusing, or misleading. But here they are... <br /> <br />There is no real "expert mode". There is an option to manually choose partitions, which is what I selected. <br /> <br />First off, I was alarmed that my internal Sata hard drive showed up as /dev/sdb, and my external USB drive as /dev/sda. <br />My confidence in the installer wavered then. In all the years that I have owned this laptop, this is the very first time that any tool has identified my internal drive as anything other than /dev/sda. <br /> <br />When I selected a partition to be "/", after hitting the OK button, a message came up that had, amongst other things "Please note that the resize operation may take a long time". <br />I had not chosen to resize the partition, only reformat as ext4, so this message was disconcerting. That is, after I had chosen <i>not</i> to resize the partition, after clicking the OK button, the next window had that string. This is what I mean by "sloppiness", which I encountered at various places in the installer. <br /> <br />Unlike the Debian installer, this one insists on installing a boot-loader. To get around this, I plugged in a USB stick and chose to install the boot-loader to that. The installer came up with a message that installing grub to the USB stick had failed, and the window offered to continue installation without installing the boot-loader. I chose this option, clicked OK, and the system hung. <br />Had to push the power button to force a shutdown. <br /> <br />Despite hanging, it had fully installed, and I was able to edit my 'menu.lst' file for grub4dos and boot it. <br /> <br />However, when I booted my Quirky Linux, I found that the time was wrong. The Ubuntu installer had changed the hardware clock to UTC, without even asking me! <br />The Debian installer on the otherhand, had asked me whether I wanted the hardware clock set to UTC or local-time. <br />Annoyed, yes I was. <br /> <br />Furthermore, Xubuntu has no GUI tool to change it to local time. When a distro lacks such basic out-of-the-box functionality, I get even more annoyed. Of course there is the 'hwclock' CLI utility, but I expect a GUI tool. <br />I was able to fix the hardware clock in Quirky, which does have such a tool, in the 'Desktop' menu. <br /> <br />Out of curiosity, I reran the Debian installer, this time choosing to install the boot-loader to a USB stick, and it worked. <br /> <br /><b>Grub4dos</b> <br />This is how I manually configured grub4dos: <br /> <br /><pre><code>title Ubuntu 16.04 Xenial Xerus amd64 <br /> uuid 6cdaf68e-9214-4c21-9b77-8ba77b841f3e <br /> kernel /vmlinuz root=UUID=6cdaf68e-9214-4c21-9b77-8ba77b841f3e rootwait rw <br /> initrd /initrd.img <br /> <br />title Debian Jessie 8.5.0 amd64 <br /> uuid 152dd9f7-bc90-4215-ac30-92470174d7e9 <br /> kernel /vmlinuz root=UUID=152dd9f7-bc90-4215-ac30-92470174d7e9 rootwait rw <br /> initrd /initrd.img</code></pre>< <br /> <br />The uuid is obtained by running blkid, for example "blkid /dev/sdb2". <br /> <br /><b>Conclusion</b> <br />The Debian installer has been developed by people who are clear, logical thinkers. <br /> Raspberry Pi 3 ordered Linux Thought that I might as well buy one of these, as it seems I am getting back into ARM development. <br /> <br />Bought it from Element14: <br /><a href=></a> <br /><img src= /> <br /> <br />Also a case: <br /><a href=></a> <br /><img src= /> <br /> <br />The total price, including delivery and GST, was AU$72.17. <br /> <br />My intention is to use it for native compiling of ARM packages, for use on my longer-term plan to "puppify" the Debian-side of MaruOS. <br /> Nexus 5 phone ordered Linux I have posted about MaruOS: <br /><a href=></a> <br /> <br />Decided to give it a go, and have ordered a Nexus 5 (brand new). I have purchased it on eBay, from Hong Kong. Price is AU$200, including postage. <br />I need the international model, D821. There is another, D820, for the USA market. <br /> <br />A Slimport HDMI adaptor is required, which connects a TV or monitor to the phone. The adaptor also needs to have a simultaneous USB charging connection. <br />The MaruOS project does have a recommended one, however, I already have one that I purchased from Sony. <br /> <br />It will be cool to have Debian running on my phone, alongside Android, however, I am thinking beyond that, to a Puppy-like distro (Easy Linux) replacing Debian. I posted some preliminary thoughts on that: <br /><a href=></a> <br /> <br />This will mean that I have to get back into building ARM-based pups. I will dust-off my Pi2. <br /> <br />Another thing that has happened that is making me think of going back to ARM, is that Intel announced they are pulling out of trying to get x86 SoCs into phones (and tablets?). <br />This decision is likely to lead to further decline of x86, even on the desktop. <br /> <br />Some posts about Intel's decision: <br /><a href=></a> <br /><a href=></a> <br /> <br />However, it seems that Intel is not pulling out completely, but refocusing. Internet of Things seems to be one of those new targets. <br /> Interview with MaruOS developer Linux I have previously posted about MaruOS: <br /><a href=></a> <br /> <br />'don570' on the Puppy Forum posted a link to an interview with the developer of MaruOS. This is the link: <br /><a href=></a> <br /> <br />...I downloaded the MP3 audio file. The interview is about 82 minutes into the file. <br /> <br />Fascinating. The guy, Preetam, worked on this all by himself for about a year. Recently he has quit his job, to work on it full-time. <br /> <br />Currently, most of his effort is to release it as open source. I reckon when that happens, it will take off. <br /> <br />Official site: <br /><a href=></a> <br /> New logo for Easy Linux Linux I am working toward creating a new Linux distribution, based on the best ideas from Puppy, Quirky and Sabotage, and compiled from source (maybe for x86_64 x32). <br />I intend other improvements, such as finally getting out of all that stuff in /root and properly supporting non-root login. <br /> <br />I thought about a logo that implies "easy", and a "thumbs up" like this seems good: <br /><a href=></a> <br /> <br />I converted it to SVG: <br /><a href=></a> <br /><img src= /> <br /> <br />...consists of a small number of objects, so very easy to edit. Can be edited in InkscapeLite in Puppy and Quirky. <br /> <br />The original PNG image is "free", however, I would like my logo to be different, not so obviously just a copy of it. <br />My ability with artwork is pathetic -- anyone willing to have a go, to make my SVG image look different/better? <br /> Yocto Project Linux I recently wrote about OpenEmbedded: <br /><a href=></a> <br /> <br />I was impressed because it compiled without error, unlike other similar tools. <br /> <br />I read that OE can be configured to do a x86_64 x32 build, which is something that am very keen on exploring. <br /> <br />There was some promise that T2 will support x32: <br /><a href=></a> <br /> <br />...however, that remains broken. <br /> <br />Yocto is a tool for compiling "embedded distributions", and uses OpenEmbedded: <br /><a href=></a> <br /> <br />As described here, Yocto supports x32: <br /><a href=></a> <br /> <br />If you want to learn more about x32, look here: <br /><a href=></a> <br /> <br />I decided to download Yocto, and attempt a x86_64 x32 build. Getting started instructions are here: <br /><a href=></a> <br /> <br />I am running Quirky Werewolf 7.4 x86_64. Note that the 'chrpath' executable is required, and I downloaded 'chrpath-0.16.tar.gz' and compiled and installed it -- don't recall where got it from. <br /> <br />Here is a summary of my steps: <br /><pre><code>> git clone git:// <br />> cd poky <br />> git checkout krogoth <br /> <br />this initialises the build environment: <br />> source oe-init-build-env <br /> <br /> <br />I edited oe-core/build/local.conf: <br /> <br />edited: <br />MACHINE ?= "genericx86-64" <br />PACKAGE_CLASSES ?= "package_deb" <br /> <br />inserted: <br />DEFAULTTUNE = "x86-64-x32" <br /> <br />BB_NUMBER_THREADS = "1" <br />PARALLEL_MAKE = "-j 1" <br />BB_NUMBER_PARSE_THREADS = "1" <br /> <br />edit meta/classes/sanity.bbclass, comment-out: <br /> if 0 == os.getuid(): <br /> raise_sanity_error("Do not use Bitbake as root.", d) <br /> <br />Like this (keep the indentation): <br /> # if 0 == os.getuid(): <br /> # raise_sanity_error("Do not use Bitbake as root.", d) <br /> <br /> <br />bitbake -k option: continue if an error. <br /> <br />> bitbake core-image-sato-dev <br /> <br />Build Configuration: <br />BB_VERSION = "1.30.0" <br />BUILD_SYS = "x86_64-linux" <br />NATIVELSBSTRING = "Quirky-7.4" <br />TARGET_SYS = "x86_64-poky-linux-gnux32" <br />MACHINE = "genericx86-64" <br />DISTRO = "poky" <br />DISTRO_VERSION = "2.1" <br />TUNE_FEATURES = "mx32" <br />TARGET_FPU = "" <br /></code></pre>< <br /> <br />I set the number of parallel processes to "1", as my laptop overheats when set to use all 4 cores. Probably "2" would have been OK. <br /> <br />"krogoth" is the latest (development) version. <br /> <br />"core-image-sato-dev" is an image target, as described here: <br /><a href=></a> <br /> <br />The build has been trundling along for a couple of hours, so far so good. <br /> Vargo Triad stove Light I recently reviewed the Packafeather XL alcohol stove: <br /><a href=></a> <br /> <br />Another stove that I have recently purchased is the titanium Vargo Triad stove. Website: <br /><a href=></a> <br /> <br />What this stove has going for it is simplicity, very rugged, inbuilt stand, and light (only 28gm). If the legs are pressed into the ground, that should make it more stable. <br /> <br />In my XL review, I mentioned trying to cook brown lentils. As the Triad cannot simmer, it just burns full-on or not at all, I decided to test my Big Sky Insulite Food Pouch. The idea is, bring the food to a boil, then transfer the pot into the food pouch, where it will continue to cook, albeit slower. <br /> <br />Here is everything gathered together, the pouch is on the right: <br /><img src= /> <br /> <br />The method to light the stove, is first to fill it to just above the little hole in the centre, light it, then when it heats up, the nozzles around the perimeter will ignite. This process is called <i>priming</i> the stove. <br />Some online advice is to hold a flame under the stove for a few seconds to speed up the priming, which I did. <br /> <br />This is what the flame looked like at first: <br /><img src= /> <br /> <br />Then I waited, and waited. It took a very long time before the jets ignited, I didn't time it, should have. Probably a couple of minutes. This is in contrast with the XL, which needed <i>no</i> priming time. <br /> <br />Eventually I had a nicely burning stove: <br /><img src= /> <br /> <br />However, what is not apparent from that photo, but is very apparent when I got down lower and looked in, is there is a lot of yellow in the flame. Yellow is a sign of combustion inefficiency. The XL again outshines, as the flame, with pot on top, was totally blue. <br /> <br />When I took the pot off the Triad, the flame was almost totally yellow: <br /><img src= /> <br /> <br />I put the pot into the Insulite pouch, then, as I didn't know how to extinguish the stove, I just watched it until it burnt out. <br />There is a way to extinguish it, but it doesn't look easy. <br /> <br />Does completing the cooking in the pouch work? Yes and no. I left the pot in the pouch for 1.5 hours and was surprised how hot it stayed. But, that duration was not enough, I put the pot back on a flame for another 10 minutes, then it was soft enough to my liking. <br /> <br />The brown lentils I used are very large. I just happened to have them in the kitchen cupboard. I think that I should have use French Style brown lentils, as they are much smaller (these are grown in Canada, are very tasty, and are sold in Coles). <br />I'll try the French Style next, see if I can get that cooking time down. <br /> <br />Here is the pouch, with pot in it: <br /><img src= /> <br /> <br />I like the idea of the Insulite pouch. I am thinking that I should have another pot, so that I can boil water, or heat something else, while waiting for the main dish to complete cooking. <br /> <br />Back on the Triad. Well, it does have some things in its favour, as I itemised at the beginning of this post. It doesn't compare well against the XL though. <br /> <br />What I dislike about the Triad is the long priming time, no ability to adjust the flame, inefficient combustion, inability to put in only the amount of fuel that you will need, and it seems difficult to extinguish. <br /> Packafeather XL stove Light Today my eagerly-awaited Packafeather XL alcohol stove arrived. <br />The outstanding feature of this stove, apart from very light weight, is the cable control of the flame, enabling turning down the heat to simmer the food as required. <br /> <br />The first thing apparent upon opening the box, is that this is indeed the product of a "cottage industry". It is built from used aluminium containers, shows it, with some minor dents -- but, I must emphasize, that in no way detracts from its performance. <br /> <br />This time, I decided to cook lentils. I purchased red lentils and yellow lentils. Hmmm, this is where my very limited cooking experience shows -- I did not know that the yellow lentils need considerably longer to cook than the red lentils. <br />I also bought Clive Of India hot curry powder. That's it, total ingredients. <br /> <br />Here is everything ready to go: <br /><img src= /> <br /> <br />You can see the XL stove in the middle. Right beside it is its fuel holder. The stove is simply placed on top of the fuel-holder. Just pour methylated spirits in to holder, put the main body of the stove on top. Light it before or after. <br /> <br />The circular disk is just a piece of aluminium from a baking tray (actually, a set of them, only a few dollars) that I bought at Coles. I also cut the windshield from the tray. The manufacturer recommends the disk for extra insulation from the ground. Here is the fuel-holder sitting on the disk: <br /><img src= /> <br /> <br />No priming, it is ready to use immediately. Right off, the flame did look a bit yellow: <br /><img src= /> <br /> <br />However, as soon as I placed the pot on top, it transformed into a beautiful blue: <br /><img src= /> <br /> <br />Oh yeah, the recipe. My scoop holds about 70ml. One level scoop red lentils, one of yellow lentils, five scoops water, half of curry powder. <br /> <br />It came to a boil quickly, and I turned down the flame. Now, the important thing to understand here is that the flame does not decrease immediately. Wait awhile. <br />A method that seemed OK was to wind the cable clockwise until completely closed (minimum air getting in through the nozzles) then back off a turn or two. This does take practice, because I did extinguish the flame once, when I had the nozzles nearly closed. <br /> <br />The main point though, is that simmering really does work. Though, with my very thin titanium pot, the small concentrated flame in the centre of the pot did result in a patch of burnt food right in the centre. I am not sure how to deal with that, other than stirring the food. <br /> <br />Here is the flame set very low, with my baking-tray wind shield: <br /><img src= /> <br /> <br />On the low flame, I wandered off, and checked back periodically to see how it was going. The yellow lentils took awhile, but eventually it was all mush, and I ate it -- simple recipe, but it tasted good. <br />Here it is: <br /><img src= /> <br /> <br />Conclusion: it is a great stove, for when you want to actually cook food instead of just boil it. <br />I think next, I will try brown lentils. They are healthier than red lentils, as they have the skin still on them, but require a lot more cooking. Normally, I would pre-soak them, but I'm going to give it a go not doing that -- see if I can just leave it simmering long enough. <br /> <br />Manufacturer's website: <br /><a href=></a> <br />My earlier post about alcohol stoves: <br /><a href=></a> <br /> Bug net for travelers Light I have been considering how to reduce the weight of my hiking gear. One considerable item is the tent, weighing anywhere from 700gm to 1.5kg, depending on how much money you want to spend. <br /> <br />I have considered a bug net and tarpaulin combination, and have come up with a very minimal configuration, but perhaps too minimal. <br /> <br />I bought one of these: <br /><a href=></a> <br /> <br />Only US$20 including international postage. <br /> <br />I didn't buy this specifically for camping, but for situations where I am traveling and sleeping in shelters, or hotel/hostel rooms. <br /> <br />It is a one-person fully-enclosed bug-net, with waterproof base, slightly raised sides (bathtub design) and two cords to tie it up. <br />This is what it looks like in its bag: <br /><img src= /> <br /> <br />Claimed weight is 230gm, however, I weighed it at 263gm, including two lengths of cord (that came with it). <br /> <br />If I take it on my next hike on the Bibbulmun Track, in the shelters there is wood framework to tie the cords onto, at least at the head end. <br />The result is adequate head-space, if I want to read before sleeping: <br /><img src= /> <br /> <br />I felt like there was enough room to roll around in, but perhaps a large (wide) person might not think so. <br />I fitted in my inflatable mattress and sleeping bag OK. <br /> <br />As well as using it in shelters, it could even be used on top of a bed, to keep bed bugs away. I might take it on my next trip to India, though I was never bothered by bed bugs on previous trips -- it remains as a theoretical possibility. <br />Mostly, I want protection from mosquitoes. <br /> <br />This bug net could be used outside, and I have been toying with using my Sea To Summit ponch/tarp, tied up like this: <br /><img src= /> <br /> <br />It is just long enough, though there is risk of rain being blown in at the ends. It also requires two conveniently-spaced branches, which might be a challenge. <br /> <br />I would probably carry the poncho anyway, in wet weather, so this combination gives me a tent for only an extra 263gm, plus metal stakes (another 70 - 100gm). <br /> <br />Anyway, this post is my mini-review of the enclosed one-person bug net. Very cheap, well made, light, compact, I can see scenarios where it will be very useful for me. <br /> Maru OS again Linux I posted about Maru OS a few months ago: <br /><a href=></a> <br /> <br />The project is progressing, and I am seriously thinking of buying a Nexus 5 just so as to try it. <br /> <br />Website: <br /><a href=></a> <br />Forum: <br /><a href=!forum/maru-os>!forum/maru-os</a> <br /> <br />That's interesting, they are saying that you can use your phone to answer calls, send sms's, etc, at the same time as having full Ubuntu desktop on a monitor: <br /> <br /><i>Your phone runs independently of your desktop so you can take a call and work on your big screen at the same time.</i> <br /> <br />I received an email that Maru OS is now available for public download, and plans are progressing to make the source available. <br /> <br />I wondered if I could find a cheap Nexus 5 online. These are getting a bit long-in-the-tooth, I expected secondhand phones to be cheap on But no, people are asking higher price than new for their old Nexus 5. Higher than the current new price anyway. Well, not many places you can buy a new Nexus 5, but I did find a seller here in Australia, 16GB model for AU$265. <br /> <br />Note, the Nexus 5X is a later model, not suitable for Maru OS. <br /> <br />I will think about it overnight. Might go for that new phone at $265. <br /> Alcohol stoves for camping Light I posted a couple of days ago about a simple recipe for the trail, "peas and mash", using my Alocs alcohol stove: <br /><a href=></a> <br /> <br />Here in Australia, we use methylated spirits, readily available everywhere, though in some towns in northern Australia it is kept behind the counter, as there are those who drink it. <br /> <br />I bought my Alocs stove a couple of years ago, from Deal Extreme: <br /><a href=></a> <br /> <br />In its favour, are the simmer-ring (that leaver sticking out) for adjusting the flame down, a screw-on lid with rubber gasket so as to keep left-over fuel, and the stand-cum-wind-shield. <br />The arguments against it are the wind-shield is not really enough, another is really required, and it is a tad heavy, at 143gm. <br /> <br />I have ordered two more stoves, both due to arrive very soon. <br />One of these is the Vargo Triad, all titanium, weighing only 28gm. Home: <br /><a href=></a> <br /><img src= /> <br /> <br />The main arguments in favour of this stove are the extreme light weight and strength. Against it, it needs a separate wind shield, and there is no means to reduce the flame. <br />That last one is significant for me -- when I am cooking something, I want to reduce to a simmer after bringing it to a boil. If you want to keep a furious boil going, wasting fuel and possibly burning the pot and food, that's what you will get without a simmer-ring. <br />Many hikers accept this limitation and work around it. <br /> <br />I bought my Triad from They ship to Australia. <br /> <br />Last, and this is the one that most excites me, is the Packafeather XL stove. Home: <br /><a href=></a> <br /><img src= /> <br /> <br />It weighs only 45gm, and has the neatest flame control of all -- a little knob on the end of a cable. <br />It does require a separate wind shield, ditto for the two other stoves. I have some thin aluminium for that. <br />There does seem to be a lot of points in favour of the XL, and I can't, without having actually used it, think of anything against it. All reviews have been positive. <br /> <br />Anyway, the XL should be here in a day or two, and I will post a review, along with another of my culinary creations. <br /> Playing with cross-compile toolsets Linux I have been playing with cross-compile toolchain creators. I have found most of them to be broken. <br /> <br /><i>Crosstool-NG</i> and <i>OpenADK</i> for example. They seem nice from the descriptions, pity they don't work. <br />OpenADK for example, real nice Kconfig interface. I made very generic choices of packages, architecture, etc. Compile started and failed early-on, I think it was package binutils. So I reran Kconfig, chose and earlier version of binutils than the default, this time it compiled, but glibc failed. Flakey. <br /> <br />I suspect many of these tools have been used for many years for i686 target, and are still not comfortable with x86_64. <br /> <br />Right now I am testing OpenEmbedded. Just doing the default "core-image-minimal" build, for i586 target. I won't rock the boat yet with a x86_64 target, see if the i586 build completes first. <br /> <br />OpenEmbedded, which is used by the Yocto project, looks quite sound, though a bit complicated. I become wary when I see a lot of complication, layers of whatever, when all I really want to do is compile a set of packages, something that a small script could do. <br /> <br />OpenEmbedded home: <br /><a href=></a> <br />Yocto Project home: <br /><a href=></a> <br /> Sabotage progress stalled Linux For the last few days, I have been trying to compile SeaMonkey. I have posted a report here: <br /><a href=></a> <br /> <br />The problems are mostly because of musl. <br /> <br />I'm thinking about going back to the grass roots. I like Sabotage. Much nicer, for me anyway, than T2. <br /> <br />One of the Sabotage ideas, of installing everything into /opt, I have become a bit doubtful about. But, that is how butch, the package manager, is able to create package-lists, in fact, how butch expects things to be. <br /> <br />Sabotage can however, install everything to /, and I have done a complete build that way, and run it from Flash stick. <br /> <br />Sabotage's chroot build environment is very nice, works flawlessly. <br /> <br />The main problem is musl. I have compiled almost everything. SeaMonkey, though, is important to me, I must have it. <br /> <br />So, I am thinking very seriously of forking Sabotage and redesign it to use glibc instead of musl. I will probably use LFS as my guide. <br /> <br />A very interesting project, going right back to basics, creating a complete compile-from-source system, integrated into a new Linux distro. <br />This proposed new distro is already created, I have it running on a Flash stick. It integrates Sabotage and Quirky/Puppy. <br />However, my proposal is to redo the Sabotage part of it to use glibc, plus some other changes. <br /> <br />The name for this new distro is <i>Easy Linux</i>. Ha ha, my ambition is soaring far above the status quo! <br /> <br />I won't upload the current Easy Linux. It does have Firefox, actually is running OK, but too many rough edges and broken bits. <br /> <br />Regarding the name Easy Linux, it is the name of a German magazine, and there was, for a few months only, a distro of that name in 2011. <br /> <br />I don't know if this new glibc-based-sabotage-Easy-Linux thing will actually happen. We shall see. <br /> Peas and mash on the trail Light I am gradually getting organised for another hike, doing a complete review of the weight, trying to get it down. <br /> <br />Apart from that, I want to experiment with new food recipes. A post by "Eremophila" on the Bushwalk forum inspired me: <br /><a href=></a> <br /> <br />His peas and potato mash is basic, but should be appetising. I decided to give it a go. Here are all of the items that a hiker would need: <br /><img src= /> <br /> <br />The stove is an Alocs alcohol burner (methylated spirits) that I bought from Deal Extreme awhile back ( <br />On the left is the fuel, in a Selleys wood-glue plastic bottle -- chosen because the spout has a screw-on cap, so fuel won't leak inside the backpack. <br />The other items are small scissors to open the packets, bag-closers, a folding scoop (that came with a saucepan-set from DX), water, and a spoon (my all-time favourite, a plastic spoon from Sea to Summit). <br /> <br />The pot is titanium, 700ml, 115mm diameter, 700mm high, 700ml capacity, very light, sold by Toak (USA). <br /> <br />Some means of lighting the stove is required. I have shown a cigarette-lighter in the photo, however matches are better as it is required to reach down into the stove to ignite the fuel. <br /> <br />I put in two scoops of water, one scoop of dehydrated peas. Lit the stove, brought the pot to a boil. Actually, this Alocs stove boils the water quite fast, and that is where this particular alcohol stove has an advantage over some others -- it has a "simmer ring" to adjust the flame down. <br /><img src= /> <br /> <br />Wait several minutes, until the peas look like they have become soft. Take the pot off the stove, and stir in 1 scoop of potato powder, then half-a-scoop of cheese. The result: <br /><img src= /> <br /> <br />It tastes OK. Not gourmet cooking, but passable when on the trail. <br /> <br />Next time, I will probably adjust it to a bit less peas, and maybe a bit more water. The cheese is a problem, as it would have to be consumed fairly quickly after opening the packet. Apparently, there are dehydrated cheese powders available, but I just bought what I found on the shelves at Coles. <br /> <br />After a days hiking, I would probably double the quantities, for a reasonable meal. Note, I don't have a measuring cup, but I think my scoop holds about 70ml. <br /> <br />Just an extra note: I am currently going through the exercise of reducing the weight of everything, and the Alocs stove is likely to be retired. It weighs, with its stand/shelter, 143gm. I have ordered another that is about 1/3 the weight, also has an adjustable flame. I'll write about that another day. <br /> Sabotaged Quirky boots Linux I have created the very first Sabotaged Quirky (I probably need to think of a better name!). <br /> <br />This is a total rethink, completely unlike any Puppy. I even decided to abandon Woof*. Instead, I have created a package, named "woofs", that gets installed in the Sabotage build environment, and has a script 'create-quirky', that builds a filesystem. The filesystem is then written to a USB-stick or SD-card, and it is bootable. <br /> <br />I get a desktop, though horribly broken. JWM is at least running. <br /> <br />The appendage on "WoofS" is S from Sabotage, though it could also be read as multiple barks! -- much better than just one bark! <br /> <br />There is an awful lot to explain about what is new/different. Basically, everything. The only thing that I am retaining is the Puppy-like UI -- JWM/ROX-Filer and the usual selection of applications, and, as much as possible, the convenient utilities. <br /> Sabotaged Quirky Linux For those who read this blog, and are wondering what is going on, re me not posting recently, I am very busy. <br /> <br />I have kind of gone into a tunnel, porting packages into Sabotage. The idea being to build Quirky from those binary packages. <br /> <br />However, I am planning to go a lot further than that. A revolutionary new Quirky, using the directory hierarchy and 'butch' compile-from-source package manager from Sabotage. <br /> <br />Plus some security ideas. <br /> <br />After all, this is what Quirky is all about, trying new ideas. I have codenamed it "Sabotaged Quirky", or just "SQ". <br /> More pkgs committed to Sabotage Linux I am having so much fun with Sabotage. I have found it to be very easy to understand. Beautifully designed, and simple logical shell scripts everywhere. The only binary executable is 'butch', a super-fast CLI package manager. <br /> <br />rofl0r is the main guy maintaining Sabotage: <br /><a href=></a> <br /> <br />I forked it, and I am adding packages, so as to be able to compile all of the packages used in a typical Puppy or Quirky. <br />My commits: <br /><a href=></a> <br /> <br />I haven't quite decided how I will integrate Quirky with Sabotage. I have been thinking as well of improved security. <br /> SmartGit GUI for git Linux My knowledge of git is rudimentary. With my recent interest in Sabotage Linux, I am now itching to be able to contribute to the project, which is on github. <br /> <br />So, I thought that I would make life easier for myself by using one of the GUIs for git. After playing with a few, some of which wouldn't even start, I have settled on SmartGit. <br /> <br />This is a commercial product, free for non-commercial projects. Their website: <br /><a href=></a> <br /> <br />It needs Adobe's Java JRE v7, which I got from here: <br /><a href=></a> <br />I got 7u80, expanded it in my Sabotage project partition, and then created /root/.smartgit/smartgit.vmoptions with one entry: <br />jre=/mnt/sdb5/apps/jre1.7.0_80 <br />...which is where my JRE is expanded. <br /> <br />The SmartGit download expands to directory 'smartgit', and inside that just run bin/ That's it, off she goes. <br /> <br />There are setup questions, and I chose to connect to github (where you need to already have an account), and chose the Sabotage repository: <br /> <br /> <br />Then chose to clone it, also specified to clone it in my project partition, /mnt/sdb5/projects/sabotage <br /> <br />Hey, simple and it works. Looks good. Now all I have to do is learn how to use it <img src=/news/images/smilies/happy.png /> <br /> <br />Well, there are some tutorials: <br /><a href=></a> <br /> <br />Note, I'm running Quirky April 7.2.1 64-bit. I am back on this slightly older Quirky, as Sabotage does not like Quirky Xerus. <br /> <br />Maybe I should start a Forum thread for discussing Sabotage and SmartGit. <br /> Compiling Sabotage OS Linux I posted about using a ready-made Sabotage x86_64 musl rootfs: <br /><a href=></a> <br /> <br />I was most intrigued by the directory layout. Very simple and logical. Packages are installed into /opt, with symlinks created from the normal locations in the filesystem. /usr is just a symlink to ".". <br /> <br />This is kind of like Gobolinux. But, I recall looking at Gobolinux many years ago, and just now took another look: <br /><a href=></a> <br />I thought then, and still do, that it is "too different". Well, obviously it works, but it is not for me. <br /> <br />Sabotage, on the otherhand, is really still the standard Linux directory hierarchy, with the advantage of packages getting installed in /opt -- which is really nice, as you can see at a glance everything in a package. <br />You can even do stuff like install a package by putting it in /opt, then run "butch relink <package>" to create the symlinks (butch is the package manager). <br /> <br />Note, "butch unlink <package>" will remove all the symlinks. Neat. That effectively uninstalls the package. <br /> <br />There doesn't have to be any separate package database, as /opt is itself the database. <br /> <br />I have some reservations: <br /> <br />Musl seems to be compiling just about everything these days. Sabotage have 700 packages, but I see that Alpine Linux compiles many more with musl. <br />So, I guess that musl is OK. Great of course for creating static utilities. The space saving, well, when we are compiling apps that are many megabytes in size, such as Firefox, the saving of musl is probably insignificant. <br /> <br />Probably the same thing could be said about busybox, that Sabotage uses. <br /> <br />Sabotage was originally developed by Josiah Worcester: <br /><a href=></a> <br />Development stopped in 2011. The project was forked by a couple of guys: <br /><a href=></a> <br />...what is good to see is that it is still active. <br /> <br />I decided to give it a go. I got the source from github: <br /><a href=# git clone git://># git clone git://</a> <br /> <br />This will build the entire distro from source. What I found though, is that it does not like Quirky 8.0, or rather one of the header files, for which I can blame Ubuntu. <br />So, I booted up my good old Quirky April 7.2.1, built from packages compiled in T2. This is very much a "vanilla flavoured" build, just about anything will compile. And indeed, sabotage is off and running, compiling that is. <br /> <br />I will post a report sometime. <br /> <br />Just a thought: Quirky and Puppy are chameleons, Woof* builds them from the binary packages of any distro. No reason why Woof* cannot build from the binary packages created by Sabotage. <br /> Sabotage musl root f.s. Linux Sometime ago, I attempted to compile 'f2fs-tools' statically, using uclibc and dietlibc. Failed. <br /> <br />Tried again today, in Quirky 8.0. Still no-go with dietlibc. I installed 'musl', 'musl-dev' and 'musl-tools' DEBs, but no-go, had issues that were too difficult to wade through -- to do with the multilib paths. <br /> <br />So I thought, why not just grab a ready-to-go x86_64 musl root f.s.? Yeah, I downloaded the Sabotage OS: <br /><a href=></a> <br /><a href=></a> <br /> <br />No hassles at all, I was able to compile f2fs-tools. Had to install a few packages first though: <br /><pre><code># chroot sabotage-1.0.0-x86_64-rootfs-core-aee6b85c /bin/sh <br /> <br />autoconf 2.69 <br /> <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_6 <br />4-pc-linux-gnu <br /># make <br /># make install <br /> <br />automake 1.15 <br /> <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_6 <br />4-pc-linux-gnu <br /># make <br /># make install <br /> <br />m4 1.4.17 <br /> <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_6 <br />4-pc-linux-gnu <br /># make <br /># make install <br /> <br />libtool 2.4.6 <br /> <br /># M4=/bin/m4 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var -- <br />build=x86_64-pc-linux-gnu <br /># make <br /># make install <br /> <br />already in f.s., but I want this later version... <br />e2fsprogs 1.42.13 <br /># LDFLAGS='-static' CFLAGS='-O2 -static' ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --localstatedir=/var --sysconfdir=/etc --disable-fsck --disable-libblkid --disable-libuuid --disable-uuidd --enable-relative-symlinks <br /># make <br /> <br />f2fs-tools 1.6.1 <br />1. Add the below line into mkfs/ <br /> mkfs_f2fs_LDFLAGS = -all-static <br />2. Add the below line into fsck/ <br /> fsck_f2fs_LDFLAGS = -all-static <br /># autoreconf --install <br /># LDFLAGS=-static ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --bindir=/bin --sbindir=/sbin --libdir=/lib --disable-shared --enable-static <br /># make <br /> <br />f2fs_io_parse.c:16:23: fatal error: sys/queue.h: No such file or directory <br />...failed building f2fs_io_parse <br />...however, has built utilities that I need. <br /> <br /># strip --strip-unneeded fsck/fsck.f2fs <br /># strip --strip-unneeded mkfs/mkfs.f2fs</code></pre>< <br /> <br />Perhaps others might find this useful. I ran "make clean" in each of the source packages, then put it all together again and uploaded (103.5MB): <br /><a href=></a> <br /> <br />To use, just expand, then chroot: <br /><i># tar -xf sabotage-1.0.0-x86_64-rootfs-core-aee6b85c.tar.gz <br /># chroot sabotage-1.0.0-x86_64-rootfs-core-aee6b85c /bin/sh</i> <br /> <br />Note, I want static fsck.f2fs and e2fsck, as redesigning the initrd in Quirky. Currently, for recovery and f.s. check, a rootfs is built in /dev/ram0 from files in the system, however, this is not the best if recovering a broken system. <br /> eudev 3.1.2 Linux Quirky 8.0 has eudev 1.10, getting a bit old. <br /> <br />I downloaded version 3.1.2 from here: <br /><a href=></a> <br /> <br />Note, I first tried 3.1.5, the latest, however it is broken, does not create libgudev. <br /> <br />My config: <br /><pre><code># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/lib/udev --with-rootlibdir=/lib --enable-introspection=no --disable-selinux --with-rootprefix="" --disable-manpages --libexecdir=/usr/libexec --build=x86_64-pc-linux-gnu --enable-split-usr --exec-prefix="" --enable-hwdb --enable-kmod --disable-gtk-doc --enable-gudev</code></pre>< <br /> <br />PET are here: <br /><a href=></a> <br /> <br />Note, the rules are separate, as Quirky currently does not use them. <br /> <br /> Heaps more firmware Linux I have created a PET with lots of firmware for the 4.4.x Linux kernel (34.4MB): <br /> <br /><a href=></a> <br /> <br />This will be in the next release. <br /> <br />Some Quirky 8.0 and earlier users reported needing Broadcom b43 and brcm network firmware -- this PET has what you need, I think. <br /> Firewall checkbox in QuickSetup Linux QuickSetup is a GUI that pops up at first bootup, with a collection of things that you might want to configure. <br /> <br />There is a checkbox for the firewall. Tick it if you want a firewall. <br /> <br />I had pre-ticked it, even though there is no firewall running. My reasoning was that is what a user would want. However, gcmartin (Puppy forum) saw it differently -- that the ticked box meant the firewall is running. <br /> <br />Hmm, I see the potential misunderstanding. Well, I have changed it to not-ticked. <br /> Aaaaarrgh! Linux As I reported last night, I compiled the 4.4.8 kernel: <br /><a href=></a> <br /> <br />This morning, powered-up my laptop, clicked on "sda5", my main working partition, about 400GB with ext3 filesystem. <br /> <br />I edited 'quicksetup', to fix the firewall checkbox, then went to save and got an I/O error. <br /> <br />I found that sda5 has been mounted "ro" (read only). I unmounted it, clicked again to mount it, this time it mounted "rw", but looking at the filesystem with ROX-Filer, I find corruption, directories have become I/O errors and replaced by triangle-with-exclamation-mark icons. <br /> <br />I rebooted, with Quirky 8.0 and 4.4.7 kernel. Mounted sda5 and now the filesystem looks OK in ROX-Filer. Oh dear. <br /> <br />I unmounted sda5, started "fsck.ext3 -p /dev/sda5", which reported errors and check is forced, but then was taking a very long time, so I did a CTRL-C. <br />Instead, I am using "cp" to backup all of sda5 to an external drive. <br /> <br />I decided to back it up as-is, then I will finish the fsck and backup again. <br /> <br />Of course, I haven't backed up in awhile. I hope that I don't have to pay a big price for this slackness. <br /> <br />Hard disk or RAM failure, maybe. But it is quite a coincidence that I compiled 4.4.8 last night. Then, going back to 4.4.7, my filesystem looks OK again. <br /> Linux kernel 4.4.8 Linux I have compiled the Linux kernel version 4.4.8 for Quirky Xerus. <br /> <br />Tweaked some of the configuration options. Let's see, changed i2c support back to modules only, removed Intel MIC support, most of MMC support was builtin, except for a couple of Realtek drivers -- changed those to builtin also. <br /> <br />Compiled PET (30.1MB): <br /><a href=></a> <br /> <br />Source PET (133MB): <br /><a href=></a> <br /> <br />Source, patches, scripts: <br /><a href=></a> <br /> Bluetooth icon in tray Linux A Quirky 8.0 tester asked, why have the BluePup Bluetooth icon in the tray when a PC doesn't have a Bluetooth interface? <br /> <br />Yes, good point. Having it there is just confusing. <br /> <br />Now, /root/Startup/bluepup_tray detects if /sys/class/bluetooth exists, if not, aborts. <br />In other words, you won't get an icon in tray if no Bluetooth interface. <br /> ISO drive scan for MMC fixed at bootup Linux My new Asus E200HA baby laptop, with UEFI-firmware and Windows 10, is my latest testbed for Quirky. <br /> <br />Quirky 8.0 runs fine, just a few issues. <br /> <br />The E200HA has internal eMMC memory, with four partitions. However, when the Quirky ISO boots, it scans the drives, and only finds /dev/mmcblk0p1, the first partition. <br /> <br />I found out why the others aren't found. The initrd (or more correctly, the initramfs), has static device nodes, and it only has a device node for the first partition. <br /> <br />This bug means that if a session is saved when booted from ISO, it will not be loaded at next bootup. <br /> <br />Problem now fixed. <br /> WoofQ uploaded for Quirky 8.0 Linux WoofQ is my Woof build system, for creating Quirky Linux. WoofQ forked from Woof2 a couple of years ago, about the same time that I passed development of Puppy Linux to the "Puppy community" and they forked Woof to WoofCE (Community Edition). <br /> <br />WoofQ is maintained online by my Bones, a minimalist VCS (Version Control System). <br />As Quirky Linux 8.0 has just been released, I have synced the online woofQ. <br /> <br /><b>Download woofQ from Bones VCS</b> <br />To download woofQ, it is a good idea to get an idea on how Bones works, read this page: <br /><a href=></a> <br /> <br />You need to have Bones PET installed. The latest version is 0.3.1. Then, do this, in a partition with a Linux filesystem and about 10GB free space: <br /> <br /><i># mkdir projects <br /># cd projects <br /># mkdir woof-project <br /># cd woof-project <br /># bones setup</i> <br /> <br />...a window will popup, enter two fields: <br />Username: mrperson (or any name you want, no spaces) <br />Download URL: <br /> <br /><i># bones download</i> <br /> <br />...depending on how slow is (and it can get very slow at times), it will take awhile to download. Currently, the entire history downloads. I have not (yet) implemented a download only of latest revision. <br /> <br /><b>Using woofQ</b> <br />When it has finished, you will see two folders 'woof-bones' and 'woof-project'. <br />The former has all of woofQ VCS downloaded, and 'woof-project' has the latest revision checked-out, ready to use. <br /> <br />Look inside folder 'woof-project', there are two folders, 'puppy' and 'quirky'. <br />Both have README files. The 'quirky' folder is where you will build Quirky Linux: <br /> <br /><i># cd quirky <br /># ./merge2out</i> <br /> <br />Note, anytime in the future, that you want to sync with (download) my online woofQ VCS, with terminal open in folder 'woof-project', type: <br /> <br /><i># bones download</i> <br /> <br /><b>WoofQ tarball</b> <br />For those who don't want to bother with Bones, just want a tarball of latest revision of woofQ, without the Bones VCS download infrastructure, I have uploaded a tarball here (21MB): <br /><a href=></a> <br /><a href=></a> <br /> <br /><b>Building a Quirky derivative</b> <br />If you fancy using woofQ to build your own derivative of Quirky Xerus, I recommend that you be running an installation of my Quirky Xerus, for (probably) guaranteed compatibility of the build environment. Quirky Werewolf is also OK, though there are some older packages, such as f2fs-tools, and I think it is best to be using the latest packages. <br />It may not be required, but I also recommend that you install '' (see in 'pet-xerus' repository in the Package Manager) -- as I always have it installed. Just a precaution, to follow my build environment as closely as possible. <br /> <br />Note, for a suitable host build environment, Quirky Xerus does not need to be installed to hard drive partition. I often run Quirky from a full install to a USB-stick. I install the 'devx' PET, reboot, and off I go, with a full development environment. Very convenient, not to mess around with the hard drive. <br /> Quirky Linux 8.0 released Linux Here it is, a brand new Quirky! A few paragraphs for the announcement: <br /> <br /><i>Quirky Linux 8.0 is released. This is codenamed "Xerus", as it has binary compatibility with Ubuntu 16.04 64-bit package repositories. This means that Quirky is able to install DEB packages from these repositories. <br />Other than that, Quirky is in no way similar to Ubuntu! <br /> <br />8.0 has Linux kernel 4.4.7, SeaMonkey 2.40, and a host of applications to fill every need. As per inheritance from Puppy Linux, Quirky includes the "kitchen sink" in a very small download. <br /> <br />Significant new features for 8.0, in no particular order, are BluePup GUI management for Bluetooth, the ISO now boots on UEFI-firmware machines, YASSM GUI to manage Samba, YouTubeDL GUI youtube downloader, and many applications updated. <br />And, as usual, a multitude of bug fixes and little improvements.</i> <br /> <br />The full announcement and release notes are here: <br /><a href=></a> <br /> <br />Installation instructions: <br /><a href=></a> <br /> <br />Alternative installation technique: <br /><a href=></a> <br /> <br />Download: <br /><a href=></a> <br />Probably faster download host: <br /><a href=></a> <br />Another host: <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />There is a forum thread for bug reports and general feedback: <br /><a href=></a> <br /> <br /> QuickSetup improved Linux QuickSetup is a window that pops up on first bootup, with lots of things that you might want to configure immediately. <br /> <br />I have added a button labeled "Manage daemons". <br /> <br />This is because Quirky Xerus has rather a lot of daemons that run automatically in the background, such as Samba and Rsync servers, that are potential security risks. <br /> <br />QuickSetup is now an up-front and convenient way of disabling daemons that are not going to be used. <br /> <br />It can also be done from the BootManager in the System menu. <br /> <br />Countdown to Quirky 8.0, just tidying up a few final things. <br /> Downloading Gummiboot Linux In the Puppy Forum, jamesbond mentioned 'gummiboot'. Intrigued, I tried to find it: <br /> <br /><a href=></a> <br /> <br />Gummiboot has been merged into systemd. <br /> <br />The git repository is here: <br /><a href=></a> <br /> <br />The last commit, before it was deleted, was at 2015-03-11. Click on that one, and there is a commit SHA1 sum. This can be used to checkout the last working revision. <br /> <br />This seems to work: <br /><i># git clone git:// <br /># cd gummiboot <br /># git checkout 2bcd919c681c952eb867ef1bdb458f1bc49c2d55 <br /># cd .. <br /># mv gummiboot gummiboot-20150311 <br /># dir2tgz gummiboot-20150311/</i> <br /> Quirky Xerus ISO file Linux I have created a live-CD ISO file of Quirky Xerus 7.90, using isohybrid. <br /> <br /><b>Download</b>, 350MB: <br /><a href=></a> <br /><a href=></a> <br /> <br /><b>Boot from CD or USB</b> <br />This ISO can be booted on an optical disk, CD or DVD, or from a USB Flash drive. <br />In the latter case, just use 'dd' to write it to the Flash drive. Any drive 512MB or bigger should work. <br />For the example of the USB drive being sdc (and unmounted): <br /> <br /><i># dd if=xerus64-7.90.iso of=/dev/sdc bs=1M <br /># sync</i> <br /> <br /><b>BIOS and UEFI</b> <br />It is supposed to boot on both types of PCs. <br /> <br />For a PC with UEFI-firmware, Legacy Boot is <i>not</i> required. The only thing to do is turn off Secure Boot, as explained here: <br /><a href=></a> <br /> <br />I need some help. My baby laptop, an Asus E200HA, with UEFI-firmware, does not have an optical drive, and it cannot boot from my external USB optical drive. <br />Writing the ISO to a USB Flash stick works. <br /> <br />Someone with a UEFI-firmware PC and internal optical drive, can help me here. Burn the ISO to a CD, and see if it will boot. With Legacy Boot turned off! <br /> <br /><b>Bugs</b> <br />This ISO is a bit big. It has some flab that I will remove. <br />The Quirky Installer might not work properly. <br /> <br /><b>Feedback</b> <br />There is a forum thread for feedback: <br /><a href=></a> <br /> InkscapeLite vector editor lives on Linux Quirky, and most builds of Puppy Linux, have InkscapeLite, a very small vector editor. <br /> <br />It has issues though. Thanks to Puppy Forum member 'SFR', one longstanding bug has now been fixed. <br /> <br />I have posted about this, with an invitation to fix another bug, the hidden vertical ruler: <br /><a href=></a> <br /> Quirky Xerus 7.90 (8.0beta) Linux This is a beta release, not to announced on Distrowatch! <br />I intend to release Quirky Xerus 8.0 around about the 21st of April, however, have brought out this beta for anyone who might like to play with it and help find and fix bugs. <br />As to what is new and interesting in Quirky Xerus, scan down through my blog posts. <br /> <br /><b>Download</b> <br />Download from here: <br /><a href=></a> <br /> <br />Not yet at Nluug, but the files should turn up here sometime: <br /><a href=></a> <br /> <br />Readme file: <br /><a href=></a> <br /> <br /><b>Bugs</b> <br />I have found some bugs. <br />One of them is in BluePup, my bluetooth management GUI. When you bring it up, either from menu, click on the icon in tray, or run "bluepup" in a terminal, the "SCAN & PAIR" button needs an adjustment -- click the "edit" button alongside it and change the timeout for "power on" from "10" to "30" (that will be 5 seconds to 15 seconds). <br /> <br /><b>Feedback</b> <br />I have started a thread on the Puppy Forum: <br /><a href=></a> <br /> Remove UTF-8 characters from string Linux For the very first time, have hit a problem with the existence of UTF-8 characters in an Ubuntu packages database file, 'Packages.xz'. <br /> <br />Yesterday, I ran '0setup' in woofQ, which downloads the Ubuntu db files and converts them to "Puppy standard format". Except, the script crashed. <br /> <br />In the 'main' repo, I found that the 'Description' field for 'firefox-locale-nb' has UTF-8 characters. <br /> <br />Well, 0setup has "LANG=C" for speed, with LANG set to the original for certain operations. I think that if I removed the LANG=C, that would fix it, however, instead, I opted to filter-out the UTF-8 characters. <br /> <br />In the 0setup script, for Ubuntu/Debian case, where 'Packages.xz' gets expanded, I made this change: <br /> <br /><pre><code> #[ $RETSTAT -eq 0 ] && mv -f $xDLFILE ${PKGLISTFILE}pre <br /> #160411 filter out utf-8 chars... <br /> if [ $RETSTAT -eq 0 ];then <br /> iconv -c -f utf-8 -t ascii $xDLFILE > ${PKGLISTFILE}pre <br /> rm -f $xDLFILE <br /> fi</code></pre>< <br /> <br />This deletes the UTF-8 characters, doesn't try to convert them to ASCII. <br /> <br />This problem has cropped up with the latest db update from Ubuntu Xenial Xerus. <br />The woofCE developer guys will also hit this problem, but they might prefer a proper fix, to allow UTF-8 chars. <br /> <br />Here is a reference on filtering out UTF-8: <br /><a href=></a> <br /> <br /><b>EDIT:</b> <br />Ha ha, technically, ASCII characters are UTF-8. It would be more correct to state that I am filtering out multi-byte UTF-8 characters. Kernel config for EFI Linux Quirky has a long-standing bug, booting on UEFI-firmware PCs. <br />If I boot with "loglevel=7", I am supposed to see heaps of output from the kernel on the screen at bootup. On BIOS systems, fine, but nothing displays on UEFI systems. <br /> <br />Another thing, on my new Asus laptop, the keyboard works in the initial Syslinux screen, and after bootup, but not while the kernel is booting. <br /> <br />The last couple of days, I have recompiled the kernel about 9 times, trying to fix it. <br /> <br />So far, I have fixed the first bug, not the keyboard bug. <br /> <br />These are the settings that I was mostly playing with: <br /> <br />Kernel hacking <br /><i> [*] Early printk via the EFI framebuffer <br /> (CONFIG_EARLY_PRINTK_EFI) <br />Bus options <br /> [*] Mark VGA/VBE/EFI as generic system framebuffer <br /> (CONFIG_X86_SYSFB) <br />Device drivers -> Graphics support -> Framebuffer devices <br /> [*] EFI-based framebuffer support <br /> (CONFIG_FB_EFI) <br /> [*] Simple framebuffer support <br /> (CONFIG_FB_SIMPLE) <br />Device drivers -> Graphics support -> Console display driver support <br /> {*} Framebuffer console support <br /> (CONFIG_FRAMEBUFFER_CONSOLE)</i> <br /> <br />I currently have them set as shown. <br />The most important is the last one, which was the 'fbcon' module, which I always had as a module, but it must be builtin. <br /> Samba utilities missing Linux Puppy Forum member 'gcmartin' sent me an email that the 'smbclient' and 'smbmount' utilities are missing from Quirky Werewolf. <br /> <br />Yes, I had left out the smbclient DEB package, so have added that to the Quirky Xerus package list. <br /> <br />smbmount though, that is a problem, as it no longer exists in Ubuntu. <br /> <br />Ubuntu has the 'cifs-utils' DEB package, that I have now added to the Quirky Xerus package list. <br /> <br />The lack of smbmount is explained here: <br /><a href=></a> <br /> <br />So, if our Samba Simple Management, or YASSM, use smbmount, they will need to be modified. <br />...I'll leave that to you guys who are into using Samba! <br /> <br />...probably the guys developing Tahpup and similar, have already worked this out. <br /> <br />Note that Quirky Xerus will be released this month, probably about the same time as Ubuntu 16.04 -- which is scheduled for April 21. <br /> BluePup Bluetooth management Linux I have created a GUI wrapper around the commandline 'bluetoothctl' utility, which is part of the 'bluez' package. <br /> <br />This is only the first version, and I intend to put some more things into the GUI window, but this is what it currently looks like: <br /><img src= /> <br /> <br />In the 'Command' box, any command that bluetoothctl accepts can be entered, and the result displayed in 'Output log'. <br /> <br />If any devices are detected, they are composed into 'Found devices', which is a list from which the user can make a choice. <br /> <br />The 'Formula' (maybe should be 'Formulae' for plural?) are simple files with a preset set of commands to feed into bluetoothctl. <br /> <br />I have created '/usr/local/bluepup/formula/SCAN & PAIR'. BluePup scans the folder /usr/local/bluepup/formula at startup and creates buttons for each file found. <br /> <br />A formula file is easy to create. It also has an easy mechanism to request and wait for the use to make a choice from the 'Found devices' list. <br /> <br />My knowledge of Bluetooth is very much "getting started". My SCAN & PAIR pairs with my mouse, however it does not persist after a reboot. <br />I will include BluePup in the next Quirky, and I invite those with more Bluetooth experience to have a go at fixing the reboot problem, also to create more formula files for other purposes, such as file transfer. <br /> <br /><b>BluePup PET</b> <br />It is a PET, not yet uploaded. Currently has a few quirks that might limit it to working in Quirky Xerus only, so want to start testing it in that environment. <br />However, the PET can be easily modified to work in other pups -- needs 'bluez' and 'gtkdialog', also 'pupmessage', 'pupdialog' and 'popup'. <br /> <br />Those last three are message GUIs, and I think most pups will have pupmessage and pupdialog, but maybe not popup. Popup is a binary executable, that can be grabbed out of Quirky. <br /> <br /><b>Blue Pup</b> <br />Forum member 'ETP' developed a puplet named 'Blue Pup', last release in 2014: <br /><a href=></a> <br />My apologies for using the same name, it is just that the name BluePup seemed just so right -- besides, mine does not have a space between the words <img src=/news/images/smilies/lol.png /> <br /> <br /><b>Bluetooth discussion</b> <br />Forum member 'tempestuous' started this interesting thread: <br /><a href=></a> <br /> Bluetooth, tr Linux Quirky Xerus progress notes: <br /> <br /><b>Bluetooth</b> <br />Yesterday and today I have been working on a GUI for managing Bluetooth. <br />It took awhile, but I managed to put a GUI wrapper around the commandline utility 'bluetoothctl'. <br />Still needs a lot of work. <br /> <br /><b>tr utility</b> <br />Had frustration using the Busybox 'tr' utility. Eventually replaced it with the full version from 'coreutils'. <br />Those who have followed my blogs over the years, will know of the issues I have had with some Busybox applets. Which is why you will find a subset of the utilities from 'coreutils' and elsewhere, instead of the Busybox versions. <br /> More desktop icon themes Linux There are some fantastic artists amongst our Puppy enthusiasts. In the case of icon themes, some of them are original artwork, some adopted from elsewhere. This is the main Forum thread with contributions: <br /><a href=></a> <br /> <br />I have already got a lot of them in my Quirky 'noarch' PET repo. From the contributions in the Puppy Forum, I have now added some more. In some cases they needed small changes and updating. <br />These are the new ones: <br /> <br /><i> <br /> <br /> <br /> <br /> <br /></i> <br /> <br />They are to be found here: <br /><a href=></a> <br /> MoManager 20160401 Linux Puppy Forum member 'L18L' and other language translation guys have updated MoManager, our very neat GUI tool for creating a language translation PET for Puppy (and derivatives): <br /><a href=></a> <br /> <br />They are maintaining a momanager PET, however, woofQ, the Quirky build system (forked from Woof), has momanager builtin. <br /> <br />In woofQ, it is rootfs-skeleton/usr/sbin/momanager, usr/share/applications/momanager.desktop, and usr/share/doc/langpack-template/ <br /> <br />I have grabbed the latest 'momanager' script, dated 2016-04-01, and put it into woofQ. <br /> Ha ha ha Linux I had forgotten that it was April 1st when I read this: <br /> <br /><a href=></a> <br /> <br /> Writing image to USB drive, in Windows Linux I am revisiting this topic, considering what is the best tool in Windows, to write an image-file to a drive. In my case, it will be writing a Quirky image to a USB drive or SD-card. <br /> <br /><b>dd</b> <br />There is a 'dd' utility for Windows, however the project is old and there is some feedback that it doesn't work properly with Windows 10: <br /><a href=></a> <br /> <br /><b>Win32 Disk Imager</b> <br />This seems to be the most popular: <br /><a href=></a> <br /> <br /><b>Expanding an image file</b> <br />I upload USB drive image files with xz compression. <br />The problem with the Windows GUI tools like Win32 Disk Imager, as far as I am aware, cannot pipe in a .img.xz file and expand it as it is being read -- it has to be expanded completely beforehand. So, if it is a 16GB image, the Windows drive will need that much free space. <br /> <br />Anyway, a tool for Windows to expand a .img.xz file is 7-zip: <br /><a href=></a> <br /> <br /> mtPaint 3.49.06 updated Linux Puppy Forum member 'wjaguar' has continued to maintain Mark Tyler's original mtPaint: <br /><a href=></a> <br /> <br />It is now up to version 3.49.06 and I have compiled it for Quirky Xerus: <br /><a href=></a> <br /><a href=></a> <br /> <br />Puppy Forum member 'don570' has also done some compiling: <br /><a href=></a> <br /> YASSM GUI client for Samba Linux I posted yesterday about rcrsn51's "Peasy" series of PETs: <br /><a href=></a> <br /> <br />rcrsn51 has some others also, including YASSM, a Samba client GUI: <br /><a href=></a> <br /> <br />I did not put YASSM into Quirky Werewolf, the previous version of Quirky, as it already has these two: <br /> <br /><i>GADMIN-SAMBA <br />Samba Simple Management</i> <br /> <br />The latter is a script that has been developed by Puppy devotees -- I think 01micko is one of the main guys who created it. The script is '' and is discussed in various places on the Puppy Forum, including here: <br /><a href=></a> <br /> <br />I have '' in the template for samba, in the Quirky builder (woof derivative). Located at /usr/sbin. <br /> <br />The samba pkg also installs /etc/init.d/rc.samba <br /> <br />I did not include YASSM in Quirky Werewolf, as wondered if it might be a "too many cooks" situation. <br />Anyway, a quick look, it doesn't seem to conflict, so have put in YASSM for the upcoming Quirky Xerus. <br /> YouTubeDL Youtube downloader Linux There is a commandline utility, 'youtube-dl', written in Python, for downloading videos. <br /> <br />Puppy Forum member 'TechnoGuy458' has developed a GUI for it, using gtkdialog: <br /><a href=></a> <br /> <br />I installed 'youtube-dl' in Quirky Xerus, as it is in the Ubuntu repo. I have Python 2.7 in the build (not in the devx), and only one extra DEB was needed, 'python-pkg-resources'. <br /> <br />Note, if you get youtube-dl from the Ubuntu repo, get the very latest version (xenia xerus), as earlier versions probably won't work (due to YouTube periodically changing things to try and break downloaders). <br /> <br />Problem though, even though the commandline utility works, TechnoGuy458's app didn't work, nothing downloaded, no error message. <br /> <br />So I knocked up a simple little GUI for 'youtube-dl', using gtkdialog. Here is the PET: <br /><a href=></a> <br /> <br />First version, extremely simple. I don't know if/when I will get around to adding more features, as it does what I want. <br />If anyone wants to experiment, add more features, go for it. <br /> <br />Note, YouTubeDL will be in the upcoming Quirky Xerus. <br /> Peasy PET updates Linux Puppy Forum member 'rcrsn51' created the "Peasy" series of PETs, that we have used in Puppy and derivative builds for many years. <br />I have updated these two: <br /> <br /><b>PeasyDisc 3.7</b> <br /><a href=></a> <br /><a href=></a> <br /> <br /><b>Peasyscan 2.8</b> <br /><a href=></a> <br /><a href=></a> <br /> <br />'peasyscan-noarch' requires 'peasyscan-exec': <br /><a href=></a> <br />And needs the 'libtiff-tools' DEB and its dependencies. <br /> Retrovol 0.14.1-forked Linux Pizzasgood created Retrovol, an audio mixer, many years ago, and last updated it, at version 0.14.1, about 2 years ago: <br /><a href=></a> <br /> <br />There was some discussion on the Puppy Forum of improving MSCW (Multiple Sound Card Wizard): <br /><a href=></a> <br /> <br />And there was a link to a fork of retrovol, by 'wdlkmpx': <br /><a href=></a> <br /> <br />...this adds MSCW into the right-click menu of Retrovol. <br /> <br />Note, Forum members Geoffrey and rg66 created something similar, but it requires Yad -- which I do currently have in Quirky, but not sure if I will keep it. Their fork of Retrovol is here: <br /><a href=></a> <br /> <br />I notice that wdlkmpx has contributed heavily to many projects, including woof-CE. <br /> <br />I have compiled wdlkmpx's Retrovol and created PETs: <br /><a href=></a> <br /><a href=></a> <br /> Some PETs updated Linux I am working toward releasing Quirky Xerus, and have updated a few PETs: <br /> <br /><b>pMusic 5.0.0</b> (created by zigbert) <br /><a href=></a> <br /><a href=></a> <br /> <br /><b>PupSysInfo 2.6.3</b> (created by radky) <br /><a href=></a> <br /><a href=></a> <br /> <br /><b>BaCon 3.3beta</b> (created by Peter van Eerten) <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />Also, there are PETs compiled explicitly for Xerus: <br /><a href=></a> <br /> USB3 Flash stick, take-2 Linux I recently purchased a SanDisk Ultra Fit USB3 32GB Flash stick, as reported here: <br /><a href=></a> <br /> <br />As I posted, I have concerns about overheating, and flakey insertion, so have put it aside for occasional use. <br /> <br />So, I needed to buy another USB3 Flash stick, and I purchased the Samsung Bar Metallic 32GB stick: <br /><a href=></a> <br /><img src= /> <br />It only cost AU$16, Easter-sale at Harvey Norman. <br /> <br />It is working well, only gets slightly warm -- well, it is a big hunk of metal, so dissipates the heat very well. <br />No issues with plugging it in. <br /> <br />The only downside is no activity light. I do so miss that! <br /> <br />One interesting thing. Both of these drives state "130MB/s". <br />However, running this: <br /> <br /># hdparm -t --direct /dev/sdb <br /> <br />Returns a read speed of about 30MB/s, for both of them. Plug it into a USB2 socket, still get 30MB/s! <br /> <br />The reason for this discrepancy is the cache in the Flash drive. <br />The above test is bypassing the cache. Yeah, maybe reading from the cache will give 130MB/s, but that is so misleading. <br />If you were streaming video off the stick, it would be coming off at 30MB/s, not 130MB/s. <br /> <br />The reason I got the same speed in a USB2 socket, is because the limiting factor is the drive itself, not the USB2 max transfer rate (USB 2.0 is capable of up to 60MB/s). <br /> <br />For comparison, I ran the 'hdparm' test on one of my USB2 sticks, and got about 12MB/s. <br /> <br />This is making me wonder whether you would really notice much difference in performance, whether the USB3 Flash stick is plugged into a USB3 or USB2 socket! <br /> gnome-bluetooth 2.32.0 Linux I have compiled gnome-bluetooth 2.32.0 in Quirky Xerus. <br /> <br />This is an old version, the last using GTK2, however, I found many patches to get it to compile and fix bugs. <br /> <br />I have uploaded the original source, patched source, and the patches, here: <br /><a href=></a> <br /> <br />This is how I compiled it: <br /><pre><code># patch -p1 < ../gnome-bluetooth-applet.patch <br /># patch -p1 < ../gnome-bluetooth-2.32.0-introspection-build.patch <br /># patch -p0 < ../gnome-bluetooth-2.32.0-libnotify-0.7.patch <br /># patch -p1 < ../gnome-bluetooth-2.32.0-nsd-automagic.patch <br /># patch -p1 < ../gnome-bluetooth-2.32.0-update-dtd.patch <br /># patch -p1 < ../gnome-bluetooth-2.32.0-pin-quirk.patch <br /># patch -p1 < ../gnome-bluetooth-client-use-valid-interface-names.patch <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --enable-icon-update --disable-scrollkeeper --enable-schemas-compile --disable-desktop-update --enable-nautilus-sendto=no --enable-introspection=no --enable-moblin=no <br /># make <br /># new2dir make install</code></pre>< <br /> <br />Most of the patches came from here: <br /><a href=></a> <br /> <br />A fix for dbus here: <br /><a href=></a> <br />Or: <br /><a href=></a> <br /> <br />Jamesbond created a patch: <br /><a href=></a> <br /> <br />I haven't actually tried it yet! <br /> Battery applet broken in E200HA Linux Another failure to report. The power applet in the tray is supposed to show battery status. <br /> <br />Looking at the source for /root/Startup/powerapplet_tray, it reads /proc/acpi/battery/, however this is empty. <br /> <br />Note, I read recently that /proc/acpi/battery is deprecated, that same info is found in /sys/class/power_supply/ -- but that is empty also. <br /> <br />So, have broken battery monitor and broken sound on my Asus E200HA baby laptop. <br /> <br />Running kernel 4.4.6 now. I will compile 4.6 when it is released, in the hope it has fixes for my laptop. <br /> Bluetooth on Quirky and Puppy Linux Now that I have a laptop with Bluetooth builtin, my new Asus Vivobook E200HA, I am keen to implement support for it in Quirky Xerus (my latest Linux build). <br /> <br />Puppy Forum member tempestuous has paved the way for us: <br /><a href=></a> <br /> <br />And rcrsn51 has created a GUI, named peasyBT: <br /><a href=></a> <br /> <br />I have added the 'bluez' DEB package to my next Quirky build. <br />There is 'blueman' a GUI frontend, in the Ubuntu repo, however I am loath to install all of its dependencies. <br /> <br />I have also added 'bluez-tools', looks like might be useful: <br /><a href=></a> <br /> <br />I am just getting started, have never before setup Bluetooth support in Quirky (or Puppy). <br /> Keyboard works on E200HA laptop Linux I reported earlier that booting Quirky Xerus on my new Asus E200HA baby laptop, the keyboard did not work. <br /> <br />At first, neither did WiFi and sound , but I found firmware for that the ath10k wifi and that works, no sound still. <br /> <br />I then reported that I experimented with updating Xorg to use evdev (and udev), instead of the deprecated Xorg xf86-input-keyboard and xf86-input-mouse drivers. <br />But I was barking up the wrong tree, as the keyboard was actually dead at the console (kernel) level. So no go, still dead keyboard. <br /> <br />Then I booted Lubuntu 16.04 amd64 beta-2, and the keyboard works. <br /> <br />So, I examined the .config file for the Linux kernel in Lubuntu, found in the /boot directory, and spotted a few things that are not turned on in my Quirky kernel. <br /> <br />So, recompiled the 4.4.6 kernel for Quirky, with some extra "things" enabled, and now the keyboard works. I don't know which of those "things" did the trick. <br /> <br />That leaves sound. No one has got sound on the E200HA to work on Linux, so we just have to wait and hope. <br /> <br />Just a note about performance of Quirky on the Asus laptop: very snappy. Especially 'coz I'm running on the USB3 interface. Everything starts fast, responds fast. <br />I am going to be very happy if/when sound works. <br /> Lubuntu 16.04 x86_64 beta2 Linux I downloaded the ISO from here: <br /><a href=></a> <br /> <br />Burnt it to a DVD, plugged in my USB-DVD drive, then found that the UEFI-firmware in my new Asus E200HA will not recognise it. <br /> <br />Hmmm, OK, so I did this: <br /><i># dd if=./lubuntu-16.04-beta2-desktop-amd64.iso of=/dev/sdb <br /># sync</i> <br /> <br />Where sdb is a USB Flash stick. I then took the flash-stick and it booted on my Asus E200HA. <br /> <br />Hey, now both keyboard and mouse work on my new laptop. <br />The challenge is now to figure out what Ubuntu is doing right, that my Quirky Xerus is doing wrong -- oh, I do hope it isn't something in systemd! <br /> Xorg without xorg.conf Linux /etc/X11/xorg.conf has been deprecated for a long time, in favour of individual files in /usr/share/X11/xorg.conf.d/ <br /> <br />Also, the drivers xf86-input-keyboard and xf86-input-mouse are deprecated, in favour of xf86-input-evdev. <br /> <br />The mainstream Puppy, up until recently, and Quirky, continues to use /etc/X11/xorg.conf, a somewhat skeleton version, in which Xorg will "fill in the blanks". <br />What xorg.conf does do, is disable automatic probing of input devices via udev, and hardcodes use of xf86-input-keyboard and xf86-input-mouse. <br />The Xorg synaptics driver is loaded for the touchpad, if it exists. <br /> <br />This arrangement has been quite satisfactory, so I have left it as-is. Until now -- booting my latest Quirky Xerus on my new E200HA laptop, the mouse works but not the keyboard. <br /> <br />So, I decided to update to using xf86-input-evdev, no xorg.conf, and use udev. <br /> <br />01micko has already been down this path, in December 2015: <br /><a href=></a> <br /> <br />I did similar things to 01micko, modified /usr/bin/xwin so that it doe not create another xorg.conf, ran a special "udev trigger ..." in rc.sysinit, and I copied over the complete /usr/lib/udev into Quirky (Quirky only has a cutdown set of rules). <br /> <br />That last one is important, the auto detection of mouse and keyboard requires the full set of udev files. <br /> <br />Ok, mouse and keyboard work on my main "workhorse" laptop, but keyboard is still dead on my new laptop. <br /> <br />Grumble, grumble. <br /> <br />The thing is, people have reported their keyboard working, booting Ubuntu 14.x on a Asus E200HA laptop. <br /> <br />There may be something in the Ubuntu udev rules, that I need (I just used the same Slackware rules that 01micko has in his iso). <br /> <br />I can't boot Slacko64 on my new laptop, as it seems cannot enable lagacy-boot (CSM) in the UEFI-Setup. <br /> <br />Anyway, I think first I will compile the 4.5.x Linux kernel, to ensure have the absolute latest hardware support. <br /> Booting USB stick on UEFI notebook Linux I have updated my HOWTO page on booting Linux from USB on UEFI-firmware computers. <br /> <br />Specifically, the additional instructions are for my new Asus E200HA baby notebook, which has Windows 10, though should be applicable to other computers. <br /> <br />UEFI booting HOWTO: <br /><a href=></a> <br /> <br /> WiFi for Asus E200HA notebook Linux I have reported some things broken when run Quirky Linux on my new Asus E200HA baby notebook. <br /> <br />WiFi is one of them. <br /> <br />I did find a link to a driver, with firmware: <br /><a href=></a> <br /> <br />However, I discovered that the ath10k driver in the 4.4.6 Linux kernel is OK, just needs firmware. <br /> <br />From the above link, I got out this firmware: <br /><i># pwd <br />/mnt/sdb2/lib/firmware/ath10k/QCA9377/hw1.0 <br /># ls <br />board-2.bin board.bin firmware-5.bin</i> <br /> <br />...where sdb2 is my USB Flash drive. <br /> <br />'dmesg' reports some firmware still missing: <br /><i>ath10k/cal-pci-0000:01:00.0.bin</i> <br /> <br />...however, the ath10k driver works. <br /> <br />Here is another firmware link: <br /><a href=></a> <br /> Quirky Xerus works well Linux There was a little hiccup with kernel framebuffer modules, solved it, now Quirky Xerus is working, and right now the "bugs list" is empty. <br /> <br />Everything that I have tried so far works. <br /> <br />I am running off my new USB3 SanDisk Ultra Fit 32GB Flash drive, and it sure is fast. <br /> <br />Running on my old workhorse laptop, haven't tried it on the new Asus E200HA netbook yet. <br /> <br />Next, I intend to have a bit of a look in this thread, see if there are any bugs that I can investigate: <br /><a href=></a> <br /> <br />Regarding the Flash drive, I was pleased to discover that it does have an LED activity light. So tiny: <br /><a href=></a> <br /> <br /><img src= /> <br /> <br />I bought it for AU$18 on-sale at Harvey Norman. <br /> Asus E200HA netbook Linux Today I bought one of these, ffor AU$298 (from Harvey Norman): <br /><a href=></a> <br /><img src= /> <br />The main reason is that I currently do not have a UEFI-firmware computer, or rather, didn't until today. want that for testing Quirky. <br /> <br />My main workhorse laptop has ye olde BIOS firmware. <br /> <br />Also, I wanted something smaller for traveling. <br /> <br />As it only has 32GB solid-state storage, I wanted a USB3 socket, to be able to plug my 2TB USB3 hard drive. I looked at the cheap baby laptops in Harvey Norman, and this was the only one in the AU$240 - AU$300 range with a USB3 socket. Well, comparing with what they had on display. <br /> <br />It is going to be fun finding out how well Quirky runs on this. After testing booting from USB stick, if it works well, will probably wipe Windows entirely. <br /> <br />I have never done that before, always left Windows there, in a reduced-size partition. I am wondering how the UEFI firmware will behave, if there is no Windows anywhere to be found. <br /> Quirky Xerus first build Linux Ubuntu 16.04 Xenial Xerus is LTS, Long Term Supported, and is scheduled to be released in April. <br /> <br />I have decided to build Quirky based on the beta2 DEBs, and the first build boots to the desktop. x86_64 only. <br /> <br />There will be some bugs of course, will have a go at fixing them. <br /> <br />Also, intend to update PETs created by our Puppy developers, and read the Quirky Werewolf64 thread in the Puppy Forum, see what outstanding bugs need to be fixed. <br /> New tent and backpack Light I have purchased ultra-light tent and backpack, and taken them on an overnighter. <br /> <br />Wrote up a report, with photos: <br /> <br /><a href=></a> <br /> <br />Not a comprehensive test of the tent, as the weather was perfect. Reached 30 degrees C, 40% humidity, hazy sky. <br /> <br />I left the fly of the tent rolled back all night, so able to watch the bush around me and the sky. Very pleasant, and the mozzies just buzzed around outside the tent! <br /> New pages Linux There is a brand new site for <br /> <br /><a href=></a> <br /> <br />01micko explained, sent me an email: <br /> <br /><i>It uses an ingenious implementation of 'markdown' with a javascript engine. All client side except for the 'page contributors' in the footer. Big thanks to jamesbond for most of the backend and a fair bit of content.</i> <br /> <br />It sure does look nice. The main guys behind this are jamesbond, 01micko and mavrothal. <br /> <br />There is a forum thread that explains how this has come about: <br /><a href=></a> <br /> Maru OS open sourced General Maru OS is Debian Linux on a smartphone: <br /> <br /><a href=></a> <br /> <br />The good news is that the developer has decided to open source it. <br /> <br />It doesn't reinvent the wheel like Ubuntu Phone. It seems, this is two different operating systems running simultaneously, Android and Debian Linux. <br /> <br />So you can't have a Debian application running in the phone screen. <br /> <br />Actually, I think this is alright, in fact very good. A phone OS and a desktop OS are such different beasts, trying to dumb down the latter to work in a small touch screen, as Canonical, Microsoft and others have been doing, may not be the best way to go. Leave them separate. <br /> <br />Of course, there are equivalent apps for Android and Linux, so if you edit a .doc word processing file in Linux, there are apps in Android to also edit it. <br /> <br />What I would like to see in Maru OS is just how much sharing there is between Android and Debian Linux. Like clipboard for example. Or, send an SMS from Debian desktop. <br /> Solar power testing 2016 Light I did some testing of solar panels and battery-banks, to charge smartphones and other USB-chargeable devices, back in 2014: <br /><a href=></a> <br /> <br />I have started another round of tests, this time focusing on ultra-light traveling, using a very small panel charging my smartphone directly, no intermediate battery-bank. <br /> <br />It's a work-in-progress, but good result so far: <br /><a href=></a> <br /> <br />I have posted about this to an Australian bushwalking forum: <br /><a href=></a> <br /> New owner for Linux Back in late 2013 I stepped back from leadership of the Puppy Linux project, after over ten years. See blog posts: <br /><a href=></a> <br /><a href=></a> <br /> <br />I did keep my hand-in with development of Quirky, a fork of Puppy Linux. Currently, I am not sure if I will do anything further with Quirky. <br /> <br />I kept ownership of the domain names and <br /> <br />Until now. Ownership of has been transferred to Michael Amadio, a guy who has proven his worth as a committed long-term developer of Puppy, and a good coordinator. <br /> <br />Mick has now pointed to a new site: <br /><a href=></a> <br /> <br />You can still access my old site, archived here: <br /><a href=></a> <br /> <br />Mick also has control of the domain name registrar for Currently it points to a site created by Raffy. <br /> <br />So, that's it! Best wishes to all you guys carrying the Puppy flag forward. I intend to pop into the forum sometimes. <br /> <br />And maybe, just maybe, I see a possibility of playing with "puppy-fying" Ubuntu Touch. But, that is only a vague maybe. <br /> Hiking test Light It is mid-summer here in Australia, and the weather has been pleasant. Thunder, lightning, rain early this morning, but the last few days have been mostly sunny, temperatures climbing to mid-30s. <br /> <br />Very nice weather for hiking, though it did get a tad warmish yesterday. I was off on the trails, of which we have many in the hills close to Perth. <br /> <br />January 2015 I did some hiking, but carried too much. This time I have experimented with ultra-light. <br /> <br />Here is a field test of my latest gear: <br /> <br /><a href=></a> <br /> <br />Lots of fun! <br /> Mobile-friendly static HTML Light My web pages are all "old school" HTML. I have dabbled in CSS and Javascript, but mostly create web pages with simple static HTML using tables. <br /> <br />My web pages look fine on a desktop screen, but not so good on a mobile phone. Typically, I create a centered table with a fixed width, and all content goes inside that. Basic structure: <br /> <br /><i><html> <br /><head ... > ... </head> <br /> <table align="center" width="700" ... > ... </table> <br /></html></i> <br /> <br />On a high resolution mobile phone screen, the table renders very small, with large blank space both sides. <br /> <br />However, I discovered a very simple fix. Just insert this line into the <head> section: <br /> <br /><i><meta name="viewport" content="width=700"></i> <br /> <br />Remarkable, on my Android phone, my pages scale, both in portrait and landscape orientation, so that the table width fills the screen. Everything, text and images, scale correctly. <br /> <br />See my example page: <br /><a href=></a> <br /> <br />References: <br /><a href=></a> <br /><a href=></a> <br /> <br />...though, I haven't even read most of that. Just took a punt on the "width" parameter, and it worked. <br /> T2 supports x32_abi Linux René has announced preliminary support for x32_abi in T2. He sent this email: <br /> <br /><i>Hi all, <br />a little xmas and new year treat, maybe especially for the small binary embedded <br />and/or puppy folks: <br /> <br />I just committed some basic x86-64/x32 support glue to the t2/trunk. <br /> <br />X32 is x86-64 with 32-bit pointers, so still taking advantage of all the many more <br />general purpose registers and optimized calling convention, with less memory <br />and thus cache utilization (like we where running sparc32 user-land on sparc64 <br />by default for this reason, too): <br /> <br /><a href=></a> <br /> <br />Not everything just builds yet (obviously not even upstream, e.g. no support for <br />valgrind or other low-level stuff yet).</i> <br /> <br />This is very good news! <br />Awhile back, I got excited about x32, but it was a bit embarrassing as I misunderstood what it was all about. <br />But now, I can have a go at compiling for x32 in T2, and build a super-small and super-fast Quirky. <br /> <br />Note, this was my earlier, aborted, post on the topic: <br /><a href=></a> <br /> <br />Thanks for the Xmas/New-Year pressie René! <br /> New site General For a very long time, I have been with Hostgator. My account has primary domain, with addon domains,, <br /> <br />I wanted to change the primary domain name, as I plan to give away (and, probably to Mick Amadio (01micko). <br /> <br />However, it is rather complicated to do, and I need to redesign my site layout drastically. So, I decided to start a new account with Hostgator. <br />This time, the primary domain is <br /> <br />I created a .htaccess file to redirect to, as the latter is now my preferred domain name. <br /> <br /> is still pointing to the old Hostgator site. <br /> <br /> seems to be in limbo right now., and are registered with domain registrar, and I have moved, or rather attempted to move, to another registrar ( <br /> <br />Had a lot of trouble with Netregistry, the EPP code, which is the authorisation code required to perform the transfer, turned out to be wrong, and they gave me another one. <br />Despite my domain being unlocked, they required me to submit an online application, which they took days to respond to, and then only when I phoned them. <br /> <br />Anyway, when I had the supposedly correct EPP code, the transfer to Omnis took place, with advice that it could take up to 5 days. <br /> NetSurf 3.4 will have Javascript General NetSurf is a very small open-source multi-platform web browser. <br /> <br />It has been under development for many years, and I have liked it, except that it lacks Javascript support. This is the one thing that made it unsuitable as the primary browser in Puppy Linux, or Quirky. <br /> <br />However, that may be about to change: <br /><a href=></a> <br /> Kernel module loading Linux In my previous blog post, I deliberated on the direction of Quirky and the merits of a full install versus frugal or live-CD: <br /><a href=></a> <br /> <br />A full install means that there is no need for an initrd. I see the initrd, or initramfs, as an unecessary extra step at bootup. I gave the ability to not have an initrd as one good reason for doing a full install. <br />Note though, other distros such as Debian and Ubuntu <i>do</i> have an initrd with a full install, a massive one. They throw in the entire collection of modules (which remain duplicated in the main f.s.). <br /> <br />I have rather wistfully thought that without an initrd, the kernel should be capable of automatically loading all modules, without need for udev and without needing to replay uevents. Yes, theoretically the kernel could be made to do that. It does everything required, such as automatically creating /dev device nodes, load firmware, and able to match module aliases to the actual hardware. <br /> <br />Yeah, except that this is more of a hopeful statement, rather than fact. <br />In theory, the kernel should be able to load all of the modules, without needing udev (or eudev or any other helper). Yes, except that it doesn't. <br /> <br />Booting Quirky Werewolf 7.4, 88 modules get loaded. I determine that by running "lsmod | wc -l" and subtracting 2. The script /etc/rc.d/rc.sysinit replays kernel uevents to achieve this. Puppy Linux has the same code and will load the same modules. <br /> <br /><b>udev at bootup</b> <br />We have to replay the uevents in our rc.sysinit script. Up until now, it has been rather complicated -- rc.sysinit has a mix of scanning through /sys and running "uedadm trigger ...". Messy. Actually, just this alone will load all the modules (after launching udevd): <br /> <br /><pre><code>udevadm trigger --action=add</code></pre>< <br /> <br /> fact, it loads one-more than before, 89 modules. Years ago, when I was last investigating this, I seem to recall problems with such a wide sweeping replay -- maybe it was slow, or hung. Anyway, running eudev 1.10 on my laptop now, it works, and fast. <br /> <br />I tested this, which it seems will narrow the replay to uevents that do not already have a loaded driver: <br /> <br /><pre><code>udevadm trigger --action=add --attr-nomatch=driver</code></pre>< <br /> <br />Then I read somewhere that doing it in two steps is good: <br /> <br /><pre><code>udevadm trigger --action=add --attr-nomatch=driver --type=subsystems <br />udevadm trigger --action=add --attr-nomatch=driver --type=devices</code></pre>< <br /> <br />The main problem with figuring all of this out is the very poor documentation. <br />I just happened to come across a post that described "--attr-nomatch=driver". I read some posts that you should not use "--action=add" -- yet I have to, otherwise most modules do not load. <br /> <br />The idea of not using udev at all at bootup, for coldplug module loading, is just not the way the kernel is designed these days. We might as well launch udevd and run "udevadm trigger ..." at bootup, as the daemon is then in place for future hotplugging. <br /> <br /><b>Bootup without udev</b> <br />Just "thinking out loud" here. We could take the kernel conceptually back a few years, and configure it to use an external "uevent helper" script to load modules (by calling 'modprobe'). <br />One reason this kind of thing was done away with, I think, is because of the huge number of parallel processes that can be created, as the kernel spews out uevents. <br /> <br />I decided to experiment. The 4.2.6 kernel in Werewolf 7.4 is configured without support for a "uevent helper", so I compiled 4.2.8 and enabled that. Set it to /sbin/hotplug. <br /> <br />I got it working, kind of. The problem is, I could not get it to load anywhere near 88 modules. <br /> <br /><b>Conclusion</b> <br />Udev is here to stay. <br /> Where am I going? Linux I have been thinking about Quirky Werewolf 7.4. The direction I have taken is to make Quirky more Puppy-like. That is, improved frugal installation, more viable ongoing running from live-CD, even support for multiple SFS files. <br /> <br />This has been done from scratch to be simpler than Puppy. So, a reimplementation of the concepts in Puppy, but simpler underlying scripts. Still using a zram for live-CD and frugal, which is different from how Puppy does it. <br /> <br />However, all of this Puppy-like behaviour is what I got away from in the original Quirkies. They were full installations only. <br /> <br />The reasons for that original decision were: <br /> <br /><b>1. No initrd</b> <br />A full install means that there is no need for an initrd. I see the initrd, or initramfs, as an unecessary extra step at bootup. It is complicated, slows down bootup, and file duplication bulks up the size of the distribution. <br /> <br /><b>2. Speed of solid state drives</b> <br />The whole Puppy running-in-RAM thing is (mostly) due to the slowness of reading from drives. Mechanical magnetic-platter drives specifically, but also solid state drives that are choked via slow serial interfaces such as USB2. <br /> <br />I saw the future as computing devices with internal solid-state drives, with very fast read times. Thus, a full install will be fast, and there will be nothing (such as SFS files) cluttering up the RAM. <br /> <br /><b>3. Optical drives on the way "out"</b> <br />More and more computing devices are being sold without an optical drive. They are still hanging in there with desktop PCs, however, increasingly they are becoming legacy devices that only serve an occasional use. <br /> <br />My next computer will not have an optical drive. Actually, I own an external USB optical drive, that will serve my needs on the rare occasion that it will be needed. <br />My next laptop, that I need to tote around, including take as cabin luggage on flights, will not be burdened by the extra space and weight needed for an optical drive. <br /> <br /><b>Summing up</b> <br />All of the above, is, I think, a good argument for why I created Quirky. The direction it is going now, introducing Puppy-like features, is, well, not appropriate. <br /> <br />Let Puppy continue, doing what Puppy does well. I reckon that I will take Quirky back to full install only. <br /> <br /><b>Future thoughts</b> <br />In 2016, I am thinking of purchasing a new laptop. With solid-state drive and touch screen. The latter is another thing that may become pretty much standard. <br /> <br />This means that I will need to develop Quirky with a touch-enabled user interface. <br /> <br />These are my thoughts about the direction of Quirky, but not necessarily what I will end up doing. <br />Who knows? -- maybe Canonical will finally deliver Ubuntu Touch with true convergence, and it will be so awesome that I will forget all about Quirky... <br /> Quirky 7.4 released Linux This is a new release of Quirky, in the "Werewolf" series, which started with version 7.3, followed by bugfix releases 7.3.1, 7.3.2 and 7.3.3. <br /> <br />Read the release announcement for 7.3 here: <br /><a href=></a> <br />7.3.1: <br /><a href=></a> <br />7.3.2: <br /><a href=></a> <br />7.3.3: <br /><a href=></a> <br /> <br />A concise announcement for 7.4: <br /> <br /><i>Quirky Linux version 7.4 is released.This is the latest in the "Werewolf" series, built with binary packages from Ubuntu 15.10 (and compatible with the large Ubuntu package repositories), that started with version 7.3, followed by 7.3.1, 7.3.2 and 7.3.3 bugfix releases. <br />Version 7.4 brings major changes in the installation, save-session and init (in the initrd) scripts, offering more flexible running modes for the live-CD and frugal installations, and simpler installation. <br />The package selection is mostly the same as 7.3.3, except that the VLC media player has been dropped in favour of XINE, and bugs in some packages are fixed.</i> <br /> <br />A full announcement and release notes can be found here: <br /><a href=></a> <br /> <br />Read about how to install Quirky here: <br /><a href=></a> <br /> <br />Primary download: <br /><a href=></a> <br /> <br />Note that the installer script offers to download the .iso file, if not already, however it does so from which is very slow. Recommend download from a mirror site, such as nluug: <br /><a href=></a> <br />Then run the installer. <br /> <br /><b>Bugs</b> <br />There are a couple I know of: <br /> <br />1. Xine hangs. I switched over from VLC as XINE plays my video test files much better. However, if XINE is closed via the menu, it leaves behind a zombie process that cannot be killed, and even prevents shutdown! <br />Always close XINE by clicking the close-box at top-right of window. <br />If anyone can figure that one out, please do! <br /> <br />2. If you use the installer to do a full install to a partition, at first bootup a popup message tells you that you have booted from a live-CD. Harmless message, just an annoyance, and I will fix it. <br /> <br /><b>Feedback</b> <br />Please go to this thread in the Puppy Forum, for all bug reports and discussion: <br /><a href=></a> <br /> <br /><b>Extra notes</b> <br />I have only released a 64-bit build, so Quirky will not run on some early Pentium CPUs that are 32-bit only. <br /> Quirky Installer, initrd changes Linux <b>Quirky Installer</b> <br />I have made major changes. Simpler to use, I think. <br />The first window, for choosing 64bit/32bit CPU, amount of RAM, and BIOS/UEFI, has been removed. <br /> <br />A new feature is frugal install to drive. The Installer offered frugal install to partition, however, I noticed interest in the forum Quirky feedback thread, for frugal to a drive, such as USB Flash stick. <br /> <br />I have deprecated the .usfs.xz file, will now only ship a .iso file. The Installer only uses an iso file now. <br /> <br /><b>initrd</b> <br />Full installs do not use a initrd, only frugal. <br />I have added extra functionality to the 'init' script in the initrd, to support possible future requirements. It has grown to 199 lines. <br /> <br />I thought about offering more "Puppy like" features, but simpler. Instead of the 1000+ lines of the init script in Puppy, Quirky's init is only 199 lines. <br /> <br />I have changed the way init works. It now defaults to scanning the drives, looking for installed files. This can be bypassed later, either by "install_specs" on the kernel commandline, or remaster the CD. <br /> <br />There is a new file, 'Q_ID', that can be placed in a frugal installation folder, for the live-CD to find the correct folder. <br /> <br />The init script supports "half-full" installation, part frugal, part full. That is, there is a q.sfs, but the saved session occupies the entire partition. Haven't implemented that in the Installer yet. <br />This is a Puppy thing. <br /> <br />The init script will load any extra SFS files it finds in the install folder. Another Puppy thing, but lacking all the management functionality in Puppy, such as automatically fixing the menu when a SFS added or removed. <br />I put this capability into the init script, in case anyone really wants to load an SFS file. <br /> <br /><b>popup</b> <br />One extra thing. The 'popup' utility is misbehaving in Quirky Werewolf. The timeout feature wasn't working. This is in the 'pup-tools' package. Fixed. <br /> Scanning USB drives in the initrd Linux Years ago, this was an area of difficulty as we tried to shave seconds off the boot time. <br /> <br />In the 'init' script in the initrd, I was parsing the kernel log (using dmesg) to ascertain when all plugged-in drives were available. The relevant information got removed from the kernel, so I restored it, with my "usb-storage" patch, that I still use with latest kernels. <br /> <br />I decided to take a fresh look at this. Booting Quirky on a USB stick, with kernel 4.2.6, I logged devices available in /sys/block and usb-storage information from the kernel log, in a 0.25 second loop: <br /><pre><code>LOOP CNT: 1 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />TAIL: [ 3.413954] Freeing unused kernel memory: 820K (ffffffff816eb000 - ffffffff817b8000) <br /> <br />LOOP CNT: 2 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />TAIL: [ 3.428840] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 <br /> <br />LOOP CNT: 3 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />TAIL: [ 3.822649] hub 2-1:1.0: 8 ports detected <br /> <br />LOOP CNT: 4 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />TAIL: [ 3.822649] hub 2-1:1.0: 8 ports detected <br /> <br />LOOP CNT: 5 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />TAIL: [ 4.251601] usb 2-1.2: new high-speed USB device number 4 using ehci-pci <br /> <br />LOOP CNT: 6 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />TAIL: [ 4.446489] psmouse serio1: synaptics: queried max coordinates: x [..5772], y [..5086] <br /> <br />LOOP CNT: 7 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />TAIL: [ 4.634617] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input2 <br /> <br />LOOP CNT: 8 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />TAIL: [ 4.634617] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input2 <br /> <br />LOOP CNT: 9 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />TAIL: [ 4.634617] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input2 <br /> <br />LOOP CNT: 10 <br />sys/block: sda sr0 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />TAIL: [ 5.348271] scsi 6:0:0:0: CD-ROM TSSTcorp CDDVDW SE-208DB TS01 PQ: 0 ANSI: 0 <br /> <br />LOOP CNT: 11 <br />sys/block: sda sr0 sr1 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />[ 5.355526] usb-storage: device scan complete <br />TAIL: [ 5.355526] usb-storage: device scan complete <br /> <br />LOOP CNT: 12 <br />sys/block: sda sr0 sr1 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />[ 5.355526] usb-storage: device scan complete <br />TAIL: [ 5.355526] usb-storage: device scan complete <br /> <br />LOOP CNT: 13 <br />sys/block: sda sdb sr0 sr1 <br />dmesg: <br />[ 3.391499] usbcore: registered new interface driver usb-storage <br />[ 4.347139] usb-storage 2-1.2:1.0: USB Mass Storage device detected <br />[ 4.347240] usb-storage: device found at 4 <br />[ 4.347257] scsi host6: usb-storage 2-1.2:1.0 <br />[ 4.347308] usb-storage: waiting for device to settle before scanning <br />[ 4.511473] usb-storage 2-1.3:1.0: USB Mass Storage device detected <br />[ 4.511550] usb-storage: device found at 5 <br />[ 4.511576] scsi host7: usb-storage 2-1.3:1.0 <br />[ 4.511697] usb-storage: waiting for device to settle before scanning <br />[ 5.355526] usb-storage: device scan complete <br />[ 5.838795] usb-storage: device scan complete <br />TAIL: [ 5.859375] sd 7:0:0:0: [sdb] Attached SCSI removable disk <br /></code></pre>< <br /> <br />...the dmesg entries with "usb-storage:" are due to my patch. <br /> <br />I had a USB2 Flash drive plugged in, and a USB2 DVD drive. It took a tad over two seconds for them to become available. <br /> <br />I still don't have an efficient alternative to parsing of the kernel log (and my usb-storage patch). Parsing /sys/devices is very inefficient. There is the possibility of monitoring kernel uevents, with a daemon, however the simple initrd in Quirky does not have that. <br /> <br />This is how I have now coded the 'init' script in the initrd: <br /><pre><code>if [ -f /BOOT_SPECS ];then <br />. /BOOT_SPECS <br /> mkdir /partition <br /> if [ "${BOOT_DEV:0:4}" == "UUID" ];then #151122. 151124 scan-loop <br /> echo 'Scanning USB drives...' <br /> sleep 1 <br /> while [ 1 ];do #151124 <br /> sleep 0.25 <br /> DMESG="$(dmesg)" <br /> CNTfound=$(echo "$DMESG" | grep 'usb-storage: device found at ' | wc -l) <br /> CNTscanned=$(echo "$DMESG" | grep 'usb-storage: device scan complete' | wc -l) <br /> [ $CNTscanned -ge $CNTfound ] && break <br /> done <br /> xBOOT_DEV="$(blkid | grep "\"${BOOT_DEV:5}\"" | cut -f 1 -d ':' | cut -f 3 -d '/')" <br /> else <br /> xBOOT_DEV="$BOOT_DEV" <br /> fi <br /> mount -o rw -t $BOOT_FS /dev/$xBOOT_DEV /partition <br /> QPATH="/partition/${BOOT_FOLDER}" <br />fi <br /></code></pre>< <br /> <br />...this is just a section of 'init', so difficult to grasp the big picture. But, BOOT_DEV is a parameter that can specify a partition, for example "sdb2", or be of the format: <br />BOOT_DEV=UUID=1234-4567-5678-0921 <br />...which is the same syntax that the kernel uses. <br /> <br />Of course, that waiting loop could just be replaced with a sleep command, "sleep 3" should be enough. <br /> Change from VLC to XINE Linux I have an ongoing problem with VLC. Had this with Quirky April, again with Quirky Werewolf. In the former case, it is VLC compiled in T2, in latter case it is a precompiled DEB package. <br /> <br />I have a test suite of videos, and many of them do not play properly with VLC. Artifacts and faulty rendering. <br /> <br />On the otherhand, XINE plays all of my videos. <br /> <br />I installed the 'xine-lib' and 'xine-ui' DEB packages from the Ubuntu repository, and confirmed that it played all of my videos. However... <br /> <br />It would not play DVDs, gave an error message about missing symbols in libdvdcss. Which rang a bell in my head... <br /> <br />Yeah, this is an old bug. It appears that the Debian/Ubuntu 'xine-lib' DEB maintainer has not compiled with configure option "--with-external-dvdnav". This is essential, as the inbuilt dvdnav only works with libdvdcss version 1.2.x. <br /> <br />However, for a very long time now, just about everyone, including Ubuntu, are using libdvdcss 1.3.x. <br /> <br />Annoying, yes. Anyway, I compiled xine-lib in Quirky Werwolf64, and also specified the path to the mplayer codecs (as otherwise xine-lib can't find them -- the DEB again): <br /> <br />Here is my config: <br /><pre><code># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --disable-dxr3 --disable-gnomevfs --disable-samba --enable-antialiasing --without-sdl --without-imagemagick --with-freetype --with-fontconfig --without-esound --without-jack --with-libflac --enable-faad --with-real-codecs-path=/usr/lib/x86_64-linux-gnu/codecs --with-w32-path=/usr/lib/x86_64-linux-gnu/codecs --disable-fb --without-caca --without-pulseaudio --with-alsa --enable-mad --enable-faad --enable-a52dec --enable-bluray --disable-vcd --disable-vdpau --enable-dvb --enable-xvmc --disable-directfb --disable-aalib --enable-oss --disable-vaapi --with-xcb --enable-libv4l --enable-v4l2 --with-external-dvdnav</code></pre>< <br /> <br />...I probably should have enabled SDL, as do have it in the Werewolf build. <br /> <br />Plays DVDs nice now. <br /> <br />I notice that the xine-lib developers haven't updated their project since November 2014. That's a shame, if they are going to let it die. On the otherhand, as it is working well, perhaps they don't feel any pressing need to do anything. <br /> Firefox 43 to use ffmpeg Linux This is good news: <br /><a href=></a> <br /> <br />I will be happy when this change filters through to SeaMonkey, as there is then the possibility of removing Gstreamer from my Quirky Linux builds. <br /> <br />Not that there is anything wrong with Gstreamer, but it is a lot of dead weight. <br /> Busybox 1.24.1 with guess_fstype Linux Puppy Forum member 'jamesbond' created a patch for 'guess_fstype' applet, as our old standalone utility is buggy: <br /><a href=></a> <br /><a href=></a> <br /> <br />I have compiled Busybox 1.24.1 with Jame's patch, compiled statically with uClibc in Landley's Aboriginal Linux root filesystem, both for i486 and x86_64. <br /> <br />Here are the PETs (476KB, 523KB): <br /><a href=x86:>x86:</a> <br /><a href=x86_64:>x86_64:</a> <br /> <br />The 'busybox' binary is about 900KB. <br /> <br />I also compiled it for the initrd that is used in Quirky, and the binary is about 400KB. <br />The binary is in woofQ, just updated online (my Bones repo, see recent post). <br /> <br /> Puppy Linux 6.3 released Linux It has been awhile since the last announcement of an official release of Puppy Linux, 6.0.3 "Tahrpup", starting with 6.0 in October 2014: <br /><a href=></a> <br /> <br />Mick Amadio, the coordinator for Puppy built from Slackware 14.1 binary packages, has brought Puppy to a new release, version 6.3. This is distinct from Puppy 6.0.x, which is built from Ubuntu Trusty Tahr binary packages, coordinated by Phil Broughton. Mick coordinated Puppy 5.7.x which is also built with Slackware packages. <br />For the first time, Puppy is released in both 32-bit and 64-bit versions. <br /> <br />The announcement and release notes for the 32-bit release is here: <br /><a href=></a> <br /> <br />Announcement for the 64-bit release: <br /><a href=></a> <br /> <br />Download: <br />32-bit: <a href=></a> <br />64-bit: <a href=></a> <br /> <br />Fast mirror: <br /><a href=></a> <br /> <br />Forum thread for general feedback and discussion: <br /><a href=></a> <br />Forum thread for bug reports: <br /><a href=></a> <br /> <br /> Quirky Werewolf64 7.3.3 released Linux This is a bugfix release for Quirky 7.3. <br /> <br />Read the announcement for Quirky 7.3 here: <br /><a href=></a> <br /> <br />Read the announcement for bugfix release Quirky 7.3.1 here: <br /><a href=></a> <br /> <br />Read the announcement for bugfix release Quirky 7.3.2 here: <br /><a href=></a> <br /> <br />The full announcement for 7.3.3 is here: <br /><a href=></a> <br /> <br />Installation instructions: <br /><a href=></a> <br /> <br />Notes on upgrading from 7.3: <br /><a href=></a> <br /> <br />Download: <br /><a href=></a> <br />Fast mirror: <br /><a href=></a> <br /> <br />Feedback here please: <br /><a href=></a> <br /> Quirky Werewolf64 7.3.2 released Linux This is a bugfix release for Quirky 7.3. <br /> <br />Read the announcement for Quirky 7.3 here: <br /><a href=></a> <br /> <br />Read the announcement for bugfix release Quirky 7.3.1 here: <br /><a href=></a> <br /> <br />The full announcement for 7.3.2 is here: <br /><a href=></a> <br /> <br />Installation instructions: <br /><a href=></a> <br /> <br />Notes on upgrading from 7.3: <br /><a href=></a> <br /> <br />Download: <br /><a href=></a> <br /> <br />Feedback here please: <br /><a href=></a> <br /> 2TB USB3 hard drive General I have a nifty little 1TB USB3 drive that I purchased, um, how long ago? Ah, January 2014: <br /><a href=></a> <br /> <br />Unfortunately, for sometime now it has been chock-full, also the drive on my laptop, I have been resorting to deleting stuff, which I don't like to do. <br /> <br />Decided it is time to invest in another external drive. I saw this for sale, 2TB USB3, AU$108 on sale: <br /><a href=></a> <br /><img src= /> <br />Product PDF: <br /><a href=></a> <br /> <br />Works great! <br /> Quirky Werewolf64 7.3.1 released Linux This is a bugfix release for Quirky 7.3. The Linux kernel is now 4.2.6 and SeaMonkey is 2.39. <br /> <br />Read the announcement for Quirky 7.3 here: <br /><a href=></a> <br /> <br />The full announcement for 7.3.1 is here: <br /><a href=></a> <br /> <br />Installation instructions: <br /><a href=></a> <br /> <br />Notes on upgrading from 7.3: <br /><a href=></a> <br /> <br />Download: <br /><a href=></a> <br /> <br />Feedback here please: <br /><a href=></a> <br /> Wcpufreq 0.8.3 Linux Wcpufreq is a CPU frequency scaling tool, with a GUI, run from the System menu. <br /> <br />Forum member 'partsman' reported that it doesn't run from the menu, but does from a terminal: <br /><a href=></a> <br /> <br />Fixed, and uploaded, now version 0.8.3: <br /><a href=></a> <br /> <br />Wcpufreq was created by forum member 'tazoc': <br /><a href=></a> <br /> <br />Forum member 'xanad' internationalised it, (which was in my 0.8.2 PET): <br /><a href=></a> <br /> <br />Tazoc did actually get to version 1.1 in 2013, but I had branched off with 0.8.1. I don't recall if 1.1 has anything we should have. <br /> <br />Those who have been around will remember tazoc and the superb contribution he made. He was the creator of Lighthouse Pup: <br /><a href=></a> <br />Unfortunately, tazoc had serious health issues. He hasn't posted to the forum since 2013. <br />Tazoc, if by any chance you read this, hope that you have bounced back! <br /> woofQ uploaded Linux <b>woofQ</b> is the build system for creating Quirky Linux. It forked from Woof2, which was for creating Puppy Linux, and Woof2 is now continued by the Puppy community as woof-CE. <br /> <br />I have uploaded the latest woofQ, for anyone who wants to experiment with building their own quirkies. <br /> <br />Version: 20151113073333 <br /> <br />I use my own home-brew version control system called <b>Bones</b>, that you can read about here: <br /><a href=></a> <br /> <br />To get setup to download woofQ, see my blog post here: <br /><a href=></a> <br /> SM 2.39, kernel 4.2.6, initrd fix Linux <b>SeaMonkey 2.39</b> <br />I have compiled SeaMonkey 2.39 for Quirky Werewolf64. <br />Version 2.38, in Quirky 7.3, is unstable, crashing seemingly randomly. <br /> <br />I read on the Linux From Scratch site, regarding SM 2.39, that the configure option '--enable-system-cairo' is a cause of instability. <br />Another thing, the SM developers have still not fixed compile fail with '--disable-logging'. <br /> <br />So, I have compiled SM with '--disable-system-cairo --enable-logging'. <br /> <br /><b>Kernel 4.2.6</b> <br />The Linux kernel developers state that we "must" upgrade to 4.2.6, so I have. Same configure options as 4.2.5 used in Quirky 7.3. <br /> <br /><b>Low-RAM</b> <br />There was a bug in the 'init' script in the initrd, for live-CD and frugal installations. RAM usage was not as efficient as it could be for PCs with 1GB and less RAM. <br />This won't affect you if your PC has over 1GB RAM, otherwise, you might want to wait until Quirky 7.3.1 is released, to get an optimal experience. <br /> Quirky Werewolf64 7.3 released Linux Quirky Werewolf 64-bit version 7.3 has been released. <br /> <br />Here is a brief announcement: <br /> <br /><i>Quirky 7.3 is the start of the "Werewolf" series, able to install packages from the Ubuntu 15.10 Wily Werewolf repositories. <br />Version 7.3 has major improvements to running from live-CD, with fast bootup, zram compression and session saving. The live-CD has become viable for on-going usage, as an alternative to performing an installation to fixed or removable drive. These improvements also apply to the "frugal" mode of installation. <br />There have been numerous bug fixes and upgrades. The kernel is now 4.2.5 and SeaMonkey is 2.38.</i> <br /> <br />A longer announcement, with some release notes, is here: <br /><a href=></a> <br /> <br /><b>Download</b> <br />Ibiblio is the primary download site: <br /><a href=></a> <br /> <br />If uncertain which file to download, read the installation notes: <br /><a href=></a> <br /> <br /><b>Developers</b> <br />For those who want to compile source packages, the "devx" PET is available here (233MB): <br /><a href=></a> <br /> <br />For those who need the kernel source (130MB): <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />Please go here for all feedback: <br /><a href=></a> <br /> Quirky live-CD improvements Linux I am having a great time, improving the Quirky live-CD! <br /> <br />Originally, I did not intend to provide Quirky as a live-CD ISO file, as I consider that mode to be "on the way out". <br /> <br />However, I did create it, but it is restricted. It boots up totally in RAM, does not even look at the hard drive, and needs a lot of RAM. <br /> <br />I have taken a fresh look at it, and completely rewritten the 'init' script in the initrd. It is a tiny script, and now is much more frugal in usage of RAM, and boots faster. <br /> <br />Puppy has a very complex 'init' script in the initrd, due to probing the drives looking for Puppy files, and may have user input, and has to handle multiple PUPMODEs. It is about <b>1,980</b> lines, whereas my Quirky init script is currently only about <b>90</b> lines. <br /> <br />My init script will probably grow a bit more, as I have some new features in mind, but probably to no more than about 100 lines. <br /> <br />I am looking at further improvements, will report back! <br /> Quirky to Puppy converter Linux I have been curious about something. The build system for creating Quirky Linux is called woofQ, which I forked from Woof2 when I stopped development of Puppy Linux. <br />The community of Puppy enthusiasts took up the reins, and created woof-CE for continued development of Puppy. <br /> <br />I have posted about woof-CE in my blog, with links. It is hosted here: <br /><a href=></a> <br /> <br />Anyway, I digress. I was wondering if I could isolate exactly what makes Quirky different from Puppy. Given that Quirky is a fork of Puppy and is marching off in its own direction, still, it is mostly the bootup, shutdown, and some system management utilities that differ, the majority remains the same. <br /> <br />An interesting exercise, I created a new folder in woofQ named 'puppy', in which I placed all the Puppy-specific files that should override those in Quirky, and created a script to build a Puppy live-CD. <br />I downloaded woof-CE and used some files from it. <br /> <br />Finally, I was able to run the script, and build an actual Puppy, however when I tested it, I got that famous message: <br /> <br /><i>Searching for Puppy files... puppy.sfs not found</i> <br /> <br />Ah, that brings back memories. I need to fix something in the init script in the initrd, however will put it on the back-burner as have run out of enthusiasm. <br /> <br />Instead, I want to go back to the real Quirky and work on improving the live-CD. That has been on hold for sometime. <br />I want to get it to boot faster and run in PCs with less RAM. Probably should look at UEFI booting also. <br /> Foreign pkgs in woofQ Linux Quirky Werewolf is built with Ubuntu 15.10 DEB packages. I can also specify PET packages in the package list. Good, but restrictive. <br /> <br />With the Quirky April series, I compiled everything in T2, which created .tar.bz2 binary files, that woofQ can import. <br /> <br />Now, on the Werewolf build, I would also like to build with some of those T2 packages. Up to now, I would have to convert a T2 package to a PET before I can use it. <br /> <br />Now, I have modified woofQ so that I can use the T2 packages directly in my Werewolf build. <br /> <br />For example, I have just compiled the latest mtpaint, 3.44.93, in T2. In my Werewolf package-list, I have changed the entry for mtpaint to this: <br /> <br /><i>yes|mtpaint||exe,dev,doc,nls|compat:april</i> <br /> <br />...explicitly telling it to get the package from the April binary package repository. <br /> <br />When I run '2createpackage', the T2 mtpaint binary package gets post-processed by packages-templates/mtpaint, and placed in folder packages-werewolf64, ready for script '3builddistro'. <br /> <br />All automatic, no need to use a PET! <br />The scripts that I modified are: <br />merge2out, 0setup, 1download, 2createpackages, support/findpkgs <br /> <br />Currently, this new feature is hard-coded for T2 April packages only, but I could generalise it in the future, so that you could for example use Debian packages in an Ubuntu build. <br /> Firmware for Quirky Werewolf Linux Quirky Werewolf 7.2.3 has rather old network and display firmware, PETs that I created back at kernel version 3.17. Need to update for the 4.2 kernel. <br /> <br />The Ubuntu DEB repository has 'linux-firmware' and 'linux-firmware-nonfree'. <br /> <br />There are two scripts in Quirky, /usr/sbin/ and, that will create lists of all network and gpu firmware required by the kernel. <br /> <br />I have created scripts /usr/local/firmware/extract-fw-gpu and extract-fw-network, that will read those lists and extract the firmware out of the Ubuntu DEBs, and create PETs. <br /> <br />Here are the PETs (3MB, 22.5MB): <br /><a href=></a> <br /><a href=></a> <br /> <br />Big, but needed for Quirky to work out-of-the-box. Perhaps more firmware PETs could be included in the build? DVB? <br />Anyway, the Package Manager can be used to install the Ubuntu firmware DEBs. <br /> Quirky Werewolf64 7.2.3 released Linux I don't want this to be announced as an official release of Quirky on Distrowatch or anywhere else. <br /> <br />Having said that, this build is working really well. <br />There are, however, a few things that I would like to tweak and improve. <br /> <br />For example, the firmware is getting a bit old -- I created the firmware PETs back at kernel 3.17. <br />I am now using kernel 4.2.5, so the firmware needs to be updated. In particular, the new 'amdgpu' module needs firmware -- anyone with AMD video might like to experiment with this ('linux-firmware' and 'linux-firmware-nonfree' DEBs are available via the Package Manager, and maybe they have the required AMD firmware). <br /> <br />There is one thing about this build that greatly pleases me. On my laptop with Intel video hardware, the Intel Xorg driver has been most unsatisfactory. This problem has been there for a long time, and it is not just me. It works OK at first, but after awhile there is deterioration -- it may start with missing menu items in the GTK pull-down menus (requiring mouse-over to fix), progressing the tearing and artifacts in windows and even all over the screen, especially when scrolling in a window, and progressing to all fonts rendering scrambled. <br /> <br />I have had this video problem with all Quirkies and pups, for the last couple of years, and I always "solve" it by changing to the Xorg 'modesetting' driver. <br /> <br />Anyway, the Xorg Intel driver is working fine, so far, in Quirky Werewolf64 7.2.3. <br /> <br />Brief release notes: <br /><a href=></a> <br /> <br />Download from here: <br /><a href=></a> <br /> <br />...x86_64 only, I have not done a x86 32-bit build. <br /> <br />'devx' PET, kernel source PET: <br /><a href=></a> <br />(note, mp and seamonkey 2.38 PETs are already in the build). <br /> <br />Kernel source: <br /><a href=></a> <br /> <br />Might as well post feedback in the existing Quirky 7.2 thread, as I am interested to know if some of the issues posted there are solved with this new build: <br /><a href=></a> <br /> <br /> Quirky Werewolf64 coming Linux My Remix Mini PC is on the way (I have a tracking number, so it has been posted!). While waiting, I have built Quirky from Ubuntu Wily Werewolf 15.10 DEBs. <br /> <br />It's looking good, will probably release it soon. <br /> <br />Quirky 7.2 was built from packages compiled from source in T2. So very small package repository. <br />For those that like compatibility with the huge Ubuntu DEB repositories, this Quirky Werewolf is for you. <br /> <br />Some differences in package selection. At this stage, using VLC mediaplayer rather than Xine. Threw in Gadmin-Samba. <br /> XVkbd virtual keyboard Linux I have compiled XVkbd in T2. <br /> <br />Project page: <br /><a href=></a> <br /> <br />Discussion about xvkbd in Puppy Forum: <br /><a href=></a> <br /> <br />XVkbd will be in the next Quirky. <br /> <br />I have created a wrapper script, to start it with correct layout for the country/language. <br />It can be started from the menu, in Desktop category, also from the tray. <br /> <br />It occurred to me that this might be useful as we move toward supporting touch screens. <br /> Windows 10 Continuum General Canonical called it "convergence" and have been beavering away for the last couple of years, reinventing the wheel. <br /> <br />Google and Apple don't seem to have embraced the concept, however Microsoft has. Their name for it is <b>Continuum</b>, and it could be what will cement Windows 10 as a major phone alternative. <br /> <br />Especially now that there is actual hardware, a dock for the new Lumia 950 phones: <br /><a href=></a> <br /><img src= /> <br />However, it does seem to be severely restricted in the desktop UI side of things. Apparently, only one app can run at a time, and there are a very small number of compatible apps. <br /> <br />Google are getting Android apps to run in Chrome OS, which is also a work-in-progress. So That is something, not the convergence concept though. <br /> <br />Remix OS brings a true desktop experience to Android, see my previous post: <br /><a href=></a> <br /> <br />...true multitasking, the full desktop experience, running just about all Android apps. <br /> <br />But, Remix does not implement the convergence concept either, only potentially so. All we know from JIDE are hints that they are seriously thinking about it. <br /> <br />I notice that the Remix Mini PC will be shipping with Office (or so it seems), so MS is getting their foot in the door with Remix. <br />Probably a wise move from JIDE, to cooperate with MS. <br /> <br />2016 is going to be interesting! <br /> Remix mini PC at trade show General Puppy Forum member don570 discovered this link. <br /> <br />Here is one of the founders of JIDE being interviewed, showing off the new Remix OS 2.0 and the mini-PC: <br /><a href=></a> <br /> <br />They are expecting to ship to Kickstarter backers (that includes me) by end of this month. <br /> MoManager 20151010 Linux <b>MoManager</b> <br />MoManager is currently maintained by L18L, and he has released a new version: <br /><a href=></a> <br /> <br />I got confused while working on Quirky, prior to releasing 7.2. I forgot that MoManager is a PET, and I fixed a bug in /usr/sbin/momanager in woofQ, but the build of Quirky used the PET, so my fix was not there. <br /> <br />The bug I fixed was a popup not going away, but I see that L18L's latest script has fixed that. <br /> <br />Anyway, to avoid the confusion, I have merged L18L's latest into woofQ, and removed the old PET from the 'noarch' repo. <br />Basically, that involved putting in the latest /usr/sbin/momanager and three t12* scripts. <br /> <br /><b>mdview</b> <br />MoManager is now supporting mdview, a markdown viewer created by jamesbond: <br /><a href=></a> <br /><a href=></a> <br /> <br />Follow the check-in link to get the source tarball: <br /><a href=></a> <br /> <br />Quirky and many pups have <b>Surfer</b> (/usr/bin/surfer), which uses <b>libgtkhtml</b>. Surfer can render some HTML v4 and even some basic CSS v1. The executable is 42KB and is 417KB. The latter is a dead project. <br /> <br />So yeah, mdview does have an attraction for simple help files. <br />The translation support is good too. <br /> Psync updated to 2.10 Linux Psync is in the Desktop menu in Quirky. I discovered that it has missing icons, so looked to see if there is a later, fixed, version. There is: <br /><a href=></a> <br /> <br />I had version 2.9, Forum member 'npierce' has released version 2.10. <br /> <br />So, I have upgraded, and it will be in the next Quirky. I made some very small changes and the PET is "2.10-1", which will be uploaded the my Quirky "noarch" PET repository soon. <br /> youtube HD video in SeaMonkey Linux If you are running the latest Quirky 7.2.x, with SeaMonkey 2.35, there is a limitation with playing HTML5 videos at -- up to 360p only, and no full-screen. <br /> <br /><b>720p and 1080p</b> <br />To get these higher-density modes, you have to go to "about:config" (type into the URL-bar) and set these two to "true": <br /> <br /><i>media.mediasource.enabled <br />media.mediasource.webm.enabled</i> <br /> <br /><b>Full-screen</b> <br />To enable playing full-screen, in about:config set this to "true": <br /> <br /><i>full-screen-api.enabled</i> <br /> <br />Some discussion is here: <br /><a href=></a> <br /> <br />One very annoying thing about SeaMonkey, and I presume Firefox, is that it won't play h264, only webM videos. Even though Quirky has gst-libav (which is documented as what SM needs for h264). <br /> <br />Anyway, I will see if I can get those about:config settings preset as true for the next release of Quirky. <br /> Quirky Linux 7.2.1 (i686) released Linux I previously announced the release of Quirky Linux 7.2 x86_64 64-bit build: <br /><a href=></a> <br /> <br />Now, I have built it for 32-bit i686 CPUs. <br />This will run on all Pentium-class PCs with BIOS-firmware, and recent "Win8" PCs with UEFI-firmware with "legacy boot" enabled. <br /> <br />Built with 4.1.10 kernel, for i686 CPU, no PAE support so will only recognise up to 4GB RAM. <br /> <br />Primary download: <br /><a href=></a> <br /> <br />For detailed release notes and install instructions, please look here: <br /><a href=></a> <br /> <br />Bug reports and other feedback may be posted here: <br /><a href=></a> <br /> Quirky Installer improved Linux Puppy Forum member 'linuxcbon' reported that the <b>Quirky Installer</b> failed to install Quirky 7.2 to a hard drive partition. <br />He was running Precise Puppy 5.7.1. <br /> <br />Precise Puppy 5.7.1 was released mid-2013, getting a bit long-in-the-tooth by now. <br /> <br />So, my thought was that there is something too-old in it. Yes, I found that the 'cp' utility which is embedded inside Quirky Installer requires a later version of glibc. The other embedded utilities are OK. <br /> <br />I solved the problem by using a statically-compiled 'cp', and installation to a partition now works, running on a host Precise 5.7.1. <br /> <br />The updated installers are here (1.4MB, 1.3MB): <br /><a href=></a> <br /><a href=></a> <br /> <br /> will need the second one for Precise 5.7.1, as it is a x86 32-bit OS. <br /> Quirky 7.2 released (amd64) Linux This is another release of Quirky in the "April" series, that started with version 7.0 earlier this year. <br /> <br />To learn more about Quirky, April, and the 7.x versions, please read this: <br /><a href=></a> <br /> <br />The latest incarnation is version 7.2. A brief statement about this release: <br /> <br /><i>Since the previous release of Quirky, there have been steady improvements, nothing really dramatic, but lots of things here and there. <br />As well, various packages have been updated or improved. Significant updates include SeaMonkey and Samba, and a new application, Dia. One new minor application is PupWhoIs, a frontend for the 'whois' utility. <br />A major structural change is the doing-away with /usr/X11R7, the path where T2 compiled Xorg into -- now, Xorg is in /usr, in line with all other distros. <br />The kernel has been upgraded to version 4.1.7.</i> <br /> <br />Detailed release notes can be found here: <br /><a href=></a> <br /> <br /><b>Download</b> <br />Download Quirky 7.2 from here: <br /><a href=></a> <br /> <br />There are various files to choose from, so it is important to read the installation instructions here: <br /><a href=></a> <br /> <br /><b>Bug</b> <br />After uploading 7.2, I discovered that has changed how recursive spidering works (searching for files on their site), which broke some scripts. <br />Therefore, I recommend as soon as you get Quirky running, install this PET (just download and click on it): <br /><a href=></a> <br /> <br /><b>amd64</b> <br />I have only released the amd64 (x86_64) build. The x86 (32-bit) build of Quirky 7.2 is expected to be uploaded in a few days. <br /> <br /><b>Feedback</b> <br />There is a thread in the Puppy Forum to post bug reports and other feedback: <br /><a href=></a> <br /> noarch PETs updated Linux These are the 'noarch' PETs that have been updated since Quirky 7.1: <br /> <br /><i>Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Deleting: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET: <br />Adding new PET:</i> <br /> Android M course has arrived General Rob Percival has announced that his new Android M developer course is ready: <br /><a href=></a> <br /> <br />I pledged for that, so intend to get stuck into it very soon. <br /> <br />JIDE, the guys developing Remix OS, and the Remix Mini PC, that I also pledged for, have posted some guidelines on creating Android apps that are RemixOS-friendly: <br /><a href=></a> <br /> Quirky 7.2 coming soon Linux Quirky April was released on April 31, 2015, see blog announcement: <br /><a href=></a> <br /> <br />Time flies! Another release is due. I did bring out "Appril" 7.1 on August 18, 2015, which was a special build for Android developers: <br /><a href=></a> <br /> <br />Appril 7.1 was a deviation, now I am back on track with the regular Quirkies. <br /> <br />The next Quirky will be 7.2 and this is the upgrade from It will be the usual x86 (32-bit) and amd64 (64-bit) builds. <br /> <br />I have a small TODO list, expect to complete that tonight, then do some final testing, so expect 7.2 to be released in a couple of days. <br /> Quirky versus Puppy Linux <b>Quirky Linux</b> forked from <b>Puppy Linux</b> a few years ago. Quirky is my opportunity to experiment with new ideas. <br /> <br />The 7.x series, also known as the "April" series, has a particular configuration that I am sticking with for sometime, so I will explain about that, how it differs from Puppy. <br /> <br />Yesterday, I read a comment on the Puppy Forum that Quirky is not as good as TahrPup as the former boots very slowly. <br /> <br />"What?!" was my first reaction, then I realised that the person had probably tried the Quirky live-CD. Right, that would explain it. <br /> <br />People who have used Puppy come along with certain understandings and expectations. I do need to provide a simple explanation of how Quirky differs, so that an inappropriate impression as described above, does not occur. <br /> <br />The key technical thing to have a bit of an understanding of is <b>PUPMODE</b>s. Puppy is capable of operating in various PUPMODEs. If you want to read about them, look here: <br /><a href=></a> <br /> <br />...but you don't have to. The essence is that PUPMODE=2 is a full installation, the normal kind that all Linux distros do. It is just one of the modes supported by Puppy, but is the <i>only</i> mode supported by Quirky. <br /> <br />...well, kind of. Users kept telling me they wanted a <b>live-CD</b>, so I created that for Quirky. It is still a full installation, but totally in RAM, actually in what is known as <b>zram</b> (a compressed filesystem in memory). As it runs totally in RAM and doesn't even look at the hard drive at bootup, it has to copy everything from the CD to RAM at bootup, and create the compressed zram, and this makes bootup slow. <br /> <br />Hence that user's negative impression of Quirky. <br /> <br />However, the Quirky live-CD, unlike Puppy, is intended for evaluation only, and it can be used to perform a full installation to internal drive or a removable drive. <br /> <br />On the otherhand, there are some people who do use the Quirky live-CD in an ongoing basis, because of that very fact that it does not touch the hard drive. <br />The Quirky live-CD even has a rudimentary save capability, which involves burning to a new CD, which means that network setup etc can be burnt to the CD, so no setup is needed on subsequent bootups. <br /> <br />So, very different from Puppy, which was designed to run from a CD/DVD and save every session. The Puppy saved sessions are kept, usually, on the hard drive. <br /> <br />Getting technical, those different PUPMODEs are achieved by the <b>Aufs</b> or <b>Unionfs</b> layered filesystem. That means that <b>SFS</b> files can be loaded as layers, so even a live-CD can have those SFS layers, for "devx", LibreOffice, or whatever. <br />With Quirky, you have to forget all about SFS files. There is no layered filesystem. <br /> <br />Quirky still has "devx", LibreOffice, etc., but they are PET packages (or DEB or whatever). Normal packages, that you can install or uninstall. <br />So, no layered f.s. in a live-CD, it means if you want to install, say LibreOffice, it will be a normal package that will install into the zram -- whereas with Puppy, an SFS can reside on a drive. <br />Result, the Quirky live-CD will need lots of RAM if you want to install packages. <br /> <br />If you really want to compare bootup speed of Quirky with TahrPup, or any other Linux, do a full install of both, that is, PUPMODE 2. Full install can be to internal hard drive or removable drive. <br /> <br />I should also add, that, again due to user requests, I added <b>frugal</b> installs for Quirky. This is a long-time favourite for Puppy fans, where Puppy is installed into a folder in a hard drive partition. <br />For Quirky, essentially the contents of the CD are copied into a folder. At bootup it works the same, everything is copied into RAM, but it will be much faster than the live-CD. There is a similar limited save capability, and limited package install due to RAM size. <br /> <br />The Quirky live-CD and frugal installation require lots of RAM, probably at least a PC with 2GB RAM. Just for starters. <br /> <br />I encourage Quirky users to only use live-CD or frugal for evaluation, and go for a full install. Except of course, if the features of the live-CD/frugal are exactly what you want. <br /> <br />In summary, if you are coming over from Puppy, forget what you know! The mantra is "Quirky works best with full installation". <br /> April64 recompile in T2 Linux I did a complete recompile in T2, for April64, the 64-bit build of Quirky. <br /> <br />It went right through, no failures, which is great, and took 21 hours. I had set T2 to use one CPU core, although my Intel i3 CPU has 4 cores. This is because my latop overheats if I do it with all 4 cores, though probably setting it to 2 cores would have been OK. <br /> <br />I did the complete recompile, as there have been incremental package upgrades, plus some new ones (such as x265), and a recompile will ensure maximum compatibility. <br /> <br />I have aborted the "x32" thing. The next release of Quirky will just be the usual thing, a x86 build and a x86_64 (amd64) build. <br />It will be the next upgrade from, and will be 7.2 when finally released. <br /> <br />While passing some time as it compiled, I read "Supervolcano: Eruption", by Harry Turtledove. Now about half way through. It's a trilogy and this is the first. <br />Yellowstone Park explodes, and everything goes down the gurgler after that. The characters are the usual collection of neurotic Americans <img src=/news/images/smilies/happy.png /> <br /> SeaMonkey home page, SSM Linux <b>SeaMonkey</b> <br />SeaMonkey 2.35 in Quirky 7.1.93 comes up with the default Mozilla home page at first startup, instead of the local file that I want. <br /> <br />Which reminded me, jamesbond found the fix: <br /><a href=></a> <br /> <br />I have put this into the template for SeaMonkey in woofQ. <br /> <br /><b>SSM</b> <br />Samba 4.2.0 in Quirky 7.1.93 has the SSM frontend, created by 01micko and mikeb, see: <br /><a href=></a> <br /><a href=></a> <br /> <br />I have also included rcrsn51's YASSM, but I am wondering if they will conflict? <br />Currently, they are both active at startup. <br />Perhaps I should play safe and leave YASSM out for now. <br /> New/updated pkgs compiled in T2 Linux Quirky is built in <b>woofQ</b>, which uses binary packages compiled in <b>T2</b>. <br /> <br />Sometimes I compile directly in a running Quirky, and create a PET, however, mostly I want to compile in T2, so that there is an automated build system in place, for future compiles, maybe for a different architecture such as ARM. <br /> <br />Here is a summary of what has changed since the last release of Quirky (Appril 7.1): <br /> <br /><i>Deleting: gparted-0.22.0.tar.bz2 <br />Deleting: gtkdialog-0.8.3.tar.bz2 <br />Deleting: samba-3.6.22.tar.bz2 <br />Deleting: hardinfo-0.5.1.tar.bz2 <br />Deleting: flsynclient-0.6-patched2.tar.bz2 <br />Deleting: nss-3.17.4.tar.bz2 <br />Deleting: ffmpeg-2014-12-19.tar.bz2 <br />Deleting: ntfs-3g-2014.2.15.tar.bz2 <br />Deleting: nspr-4.10.7.tar.bz2 <br />Deleting: f2fs-tools-1.4.0.tar.bz2 <br />Deleting: sqlite-3080803.tar.bz2 <br />Deleting: seamonkey-2.33.tar.bz2 <br />Adding new PKG: ntfs-3g-2015.3.14.tar.bz2 <br />Adding new PKG: sqlite-3081101.tar.bz2 <br />Adding new PKG: samba-4.2.0.tar.bz2 <br />Adding new PKG: gtkdialog-0.8.4pre-svn514.tar.bz2 <br />Adding new PKG: gparted-0.23.0.tar.bz2 <br />Adding new PKG: f2fs-tools-1.4.1.tar.bz2 <br />Adding new PKG: x265-1.7.tar.bz2 <br />Adding new PKG: ffmpeg-2.7.2.tar.bz2 <br />Adding new PKG: nspr-4.10.9.tar.bz2 <br />Adding new PKG: arp-scan-1.9.tar.bz2 <br />Adding new PKG: nss-3.20.tar.bz2 <br />Adding new PKG: flsynclient-0.6-patched3.tar.bz2 <br />Adding new PKG: seamonkey-2.35.tar.bz2 <br />Adding new PKG: hardinfo-20150425-fd.tar.bz2</i> <br /> <br />These are x86 (32-bit) binary packages, and are uploaded to here: <br /><a href=></a> <br /> <br />The sources are here: <br /><a href=></a> <br /> Quirky 7.1.93 (7.2beta) Linux <b>THIS RELEASE HAS BEEN WITHDRAWN <br />I AM WORKING ON ANOTHER, PLEASE WATCH THIS BLOG FOR NEWS IN A FEW DAYS</b> <br /> <br />This is an experimental beta-quality build of Quirky, using a 64-bit kernel with 32-bit apps, an architecture that I have nicknamed "neo64". <br /> <br />Introduction and installation notes here: <br /><a href=></a> <br /> <br /> download: <br /><a href=></a> <br /> <br />Feel free to play and report any issues! <br />Forum thread: <br /><a href=></a> <br /> <br />I currently have a short todo list: <br /> <br /><i>1. Drive image, fix 2nd-GPT not at end of drive. <br />2. SeaMonkey 1st startup, not my Jumping Off page. <br />3. Samba SSM, change default /root to /file. <br />4. Tidy up 'mount' script. <br />5. SNS sometimes does not connect. <br />6. Need a new theme.</i> <br /> Quirky, woofQ, lots of bug fixes Linux I have been responding and fixing things, posts to this Forum thread: <br /><a href=></a> <br /> <br />I have just noticed that Forum member shinobar posted an update to net_setup, dated 20140422: <br /><a href=></a> <br /> <br />...I have downloaded his PET, will look at updating my own net_setup PET. <br /> <br />Note, net_setup is our "old" Network Wizard. These days we have some alternatives, such as my Simple Network Setup, and jemimah's Frisbee, and rcrsn51 is developing another. <br /> Begone, /usr/X11R7 Linux This is a momentous occasion. Up until now, all pups build from binary packages compiled in T2, have Xorg in /usr/X11R7. <br />This has been the cause of some difficulty, compiling some source packages, and getting all the paths setup properly. I have had to put in many messy symlinks. <br /> <br />No more. woofQ now builds with Xorg in /usr, in line with all other distros. <br /> <br />There is still /usr/X11R7, however it is a "symlink to nowhere", that is: <br /><pre><code>ln -s . /usr/X11R7</code></pre>< <br /> <br />Meaning that X11R7 points to the current directory. So the path /usr/X11R7/lib, for example, is the same as /usr/lib. <br />Or, the path /usr/X11R7/bin is the same as /usr/bin. <br /> <br />It works. I have built my neo-64 Quirky, the "neo-64" thing being something else, but regarding the doing-away with /usr/X11R7, that works fine. <br /> <br />Just a couple of small path issues, which I will fix. <br /> Neo-64 hits another bump Linux I reported about a problem with my "neo-64" build, x86_64 kernel with all-32bit packages: <br /><a href=></a> <br /> <br />Another problem I had was the Xorg 'modesetting' driver didn't work, or rather, mostly didn't. <br /> <br />I solved this by installing the 64-bit Xorg. Now everything seems to work. <br /> <br />While doing this, my frustration with the "/usr/X11R7" path boiled up. <br /> <br />I once suggested to Rene that T2 should have the option of building Xorg in /usr, like all other distros, but got no response. <br /> <br />Perhaps one day I should modify T2, however, for now I am thinking of doing away with /usr/X11R7 in woofQ, simply by moving everything into /usr. <br /> <br />This would simplify a lot of things, especially all the weird symlinks I have had to put in. <br /> <br />I might have a look at doing that tonight. <br /> Latest April is, TahrPup is 6.0.2 Linux A newcomer to this blog might wonder what is the latest <b>Quirky Linux</b>, as the announcement is buried somewhere back in this blog. <br /> <br />Here is the announcement, for Quirky April <br /><a href=></a> <br /> <br />And Forum thread for discussion: <br /><a href=></a> <br /> <br />There is also Appril 7.1, which was a one-off, for Android developers. <br /> <br />Quirky is a fork of <b>Puppy Linux</b>, and if you want to know what is the latest official release of Puppy, see this announcement: <br /><a href=></a> <br /> <br />...TahrPup, created by 666philb, has continued to evolve, see the Forum: <br /><a href=></a> <br /> at version 6.0.2. <br /> <br />Browse the Puppy Forum, there are lots of other pups, one of them might take your fancy. <br /> Samba 4.2.0 in T2, woofQ Linux I built Appril 7.1 with samba version 4.2.3, however T2 is currently only setup to compile 4.2.0, that Rene implemented earlier this year (up from 3.6.x). <br /> <br />I have compiled version 4.2.0 in T2, for the upcoming Quirky April "neo-64" build. <br />I have experimented with more configure options to reduce its size -- I hope that I haven't gone too far! <br /> <br />I have also put the setup and GUI frontend that 01micko, mikeb and rcrsn51 developed, into woofQ. It is packaged as a PET by ETP here: <br /><a href=></a> <br /> <br />This setup/GUI is now a template for the samba package in woofQ, meaning that the raw binary package imported from T2 gets all this extra stuff slapped into it for inclusion in the Quirky build. <br /> <br />Not tested yet! <br /> <br />Here is a forum thread where the developers have been working on the setup/GUI: <br /><a href=></a> <br /> Neo-64 hits a bump Linux I wrote about building a totally 32-bit Quirky April, except with a 64-bit kernel, which I nicknamed as my "neo-64" build: <br /><a href=></a> <br /> <br />last night I ran into the first hiccup, the <b>ddcprobe</b> utility did not work. This is part of the 'xresprobe' package, in fact it is the only utility that I use out of that package. It reads information about the monitor, what is known as the <b>Extended Display Identification Data</b>, or just <b>EDID</b>. <br /> <br />I had to use the 64-bit version of ddcprobe. I compiled it statically, so that I could pop it in without needing any 64-bit shared libs. <br /> <br />Doing some more testing, the Xorg 'modesetting' driver is only "kind of" working. This may be another case of a 32-bit program not able to work properly. <br /> <br />I might look at putting in the basic 64-bit C shared libs, so that 64-bit utilities can be readily added. <br /> GParted updated Linux I am updating some packages, getting ready for another release of Quirky. <br /> <br />Updates get compiled in T2, then imported into woofQ (the Quirky builder). <br /> <br />These are the updates: <br /><i>ntfs-3g 2015.3.14 <br />f2fs-tools 1.4.1 <br />gparted 0.23.0</i> <br /> <br />I have updated GParted, as the one in April did not work when I had an empty gap at the beginning of the extended partition -- I wanted to move the starting-point of the extended partition so as to remove this gap. <br />The GParted live-CD fixed this, and now I am hoping the latest compiled for April will also work in this situation. <br /> PupWhoIs Linux Just a very quick report. <br /> <br />I whipped up a little GUI using gtkdialog, for the <b>whois</b> domain name lookup commandline utility. <br /> <br />This will be in the next Quirky. <br /> Allwinner A83 tablet/laptop with Remix General Forum member don570 posted about this here: <br /><a href=></a> <br /> <br />...that will be Q4 2015. <br /> <br />Here is the video at youtube: <br /><a href=></a> <br /> <br />don570 also commented about Android apps running on Chromebooks, as a possible competitor for the Remix OS table/laptop. <br /> <br />Yes, but it looks like early days with getting Android apps to run properly in Chromebooks. Though, I don't have much feedback yet about any problems with Androids apps running in Remix OS. <br /> <br />Then there's the convergence thing. ChromeOS does not, it would seem, squeeze into a small phone screen format. So it is only for large-screen devices. <br />So ChromeOS is out as far as the convergence idea is concerned. <br /> <br />Anyway, it will be interesting to see at what price Allwinner release this tablet/laptop. <br /> <br />JIDE have a tablet/laptop currently on the market, but are apparently working on the next model, so things are getting interesting. <br /> neo-64 32-bit Quirky Linux I am starting on creating the next Quirky April. Not the Android Appril thingy, just your normal Quirky Linux... with a twist! <br /> <br />For sometime I have been wondering about something. There are so many applications and tools out there that are still 32-bit, although they run in a 64-bit distro. <br />I made a list recently of the pros and cons of 64-bit versus 32-bit, have mislaid it, but anyway, in summary, 32-bit software is generally less troublesome, both to compile and use -- even after all these years of 64-bit Linux distros gradually taking over. <br /> <br />One of the main reasons we have for moving to 64-bit is to get access to RAM greater than 4GB. It is also claimed that 64-bit software is a tad faster. <br /> <br />Actually, the latter is highly debatable, but the first is important for those on high-end PCs. <br /> <br />I have had a thought in the back of my mind for sometime, why not use a 64-bit Linux kernel with 32-bit-only software? <br /> <br />The thing is, the kernel is capable of running 32-bit applications in a 64-bit address-space. I don't know which version of the kernel this capability was introduced, but it is very nice. I compiled 4.1.7 with this capability switched on, and built my regular 32-bit Quirky April using the 64-bit kernel. <br /> <br />It works! <br /> <br />Interesting this. The only downside that I can see is that individual applications can only see an apparent 32-bit address space, even though the kernel will make use of RAM beyond 4GB. This "downside" is just a theoretical one, and unlikely to have any impact in usage, in fact won't. <br /> <br />This "neo-64" Quirky is likely to be the next release. <br />I will also update a few apps -- already compiled SeaMonkey 2.35. <br /> Bring back first boot Linux This will be of interest to all Puppy developers and many testers. <br /> <br />I have built a new Quirky, installed it to USB stick, but managed to get X all messed up. I want to go back to the "very first bootup" situation, but how? <br /> <br />Actually, it is not simple to do, many files are involved. The thing to do is bootup some other pup, then mount the partition where the troublesome pup is installed. In my case it is /dev/sdb2, so I will use that. Then, follow these instructions: <br /> <br />Any Quirky, Puppy, or derivative installation, to restore to pristine "first startup" condition, delete these, if they exist: <br /> <br /><i>/mnt/sdb2/.fsckme.flg <br />/mnt/sdb2/etc/X11/xorg.conf, xorg.conf.* <br />/mnt/sdb2/root/.XLOADED <br />/mnt/sdb2/root/.network-firmware*, .usb-drive-log* <br />/mnt/sdb2/root/.pup_event/*</i> <br /> <br /> careful that you only delete xorg.conf and xorg.conf.* (where * is a glob wildcard, this is <i>not</i> a regular expression). Do <i>not</i> delete xorg.conf0 or xorg.conf-auto-pc. <br /> <br />Quirky has /var mounted as a tmpfs, and contents disappear at shutdown, except for /var/local which is actually at /root/.var/local. Delete these: <br /> <br /><i>/mnt/sdb2/root/.var/local/delayedrun_firstboot_flag, shutdown_date_saved, quickset*, etc_profile_at_shutdown</i> <br /> <br />For pups that have a normal /var not mounted as a tmpfs, delete: <br /><i>/mnt/sdb2/var/local/delayedrun_firstboot_flag, shutdown_date_saved, quickset*, etc_profile_at_shutdown</i> <br /> <br />Quirky, and the most recent puppies that I developed, have /tmp mounted as a tmpfs, so contents of /tmp will disappear after reboot. However, if you have a pup that has a /tmp that persists over a reboot, then delete this: <br /> <br /><i>/mnt/sdb2/tmp/bootcnt.txt</i> <br /> <br />Most pups boot with automatic startup of X, however, the xorgwizard may change this parameter. Edit the file /mnt/sdb2/etc/DISTRO_SPECS and make sure set to 'yes': <br /> <br /><i>DISTRO_XORG_AUTO='yes'</i> <br /> <br />There are more files that get created at first bootup, but unlikely to have any importance. However, you might like to delete these to get closer to perfect pristine first-time bootup: <br /> <br /><i>/mnt/sdb2/etc/networkmodules</i> <br /> <br />I did all of the above, and my USB stick booted up as if for the very first time. <br />Actually, this would be a useful boot parameter, such as "qfix=first". Might do that. <br /> Remix OS on a smartphone? General I reported recently that I pledged for the Remix mini PC, Kickstarter campaign: <br /><a href=></a> <br /> <br />It looks like I will be getting it late-October. <br /> <br />I am most intrigued by the concept, as I think leveraging on an existing phone OS, being able to use all Android apps, in a windowed desktop environment, is so much more pragmatic and likely to succeed compared with, say, Canonical's reinvention of the wheel with Ubuntu Phone. <br /> <br />When I first came across Remix OS, I immediately thought what a natural it would be for the "convergence phone" concept. I wondered if JIDE (the company behind Remix OS) were thinking along these lines. <br />Someone (Geoff Topolski) recently asked them: <br /> <br /><i>In the future, will Remix OS be able to run on smartphones? And if so, do you plan on implementing some sort of Ubuntu Mobile style convergence? e.g. when you connect your smartphone to a larger display, it will automatically change into windowed application mode?</i> <br /> <br />Response from JIDE: <br /> <br /><i>This is definitely something we're looking into! Stay tuned!</i> <br /> <br />Reference: <br /><a href=></a> <br /> <br />JIDE, incidentally, is not a couple of guys in a garage. They have serious backing, with 100 employees. <br /> Configure.IT no-code apps General I was reading an overview of several no-code or very-little-code app creation tools, and in the comments section one guy commented that he had used many different app-creation products, including some of these no-code ones, but finally he recommended just one, <b>Configure.IT</b>, for both professional app creators and absolute beginners with no coding experience. <br /> <br />So I looked at the site: <br /><a href=></a> <br /> <br />Development is online, so all you need is a web browser. So, thank goodness, I don't have to run Windows! <br /> <br />Configure.IT creates apps for both Android and iPhone, apparently with very few changes required in a project to develop for both. The big thing about it, that sets it apart from all the other online app-creation tools that I have looked at, is Configure.IT builds true native apps, in Java for Android, and Objective-C for iOS, and the source code may be downloaded and used in Android Studio and Apple's XCode -- for a fee! <br /> <br />Where the real challenge is though, is the "no code" claim. Other online no-code tools that I have briefly looked at are based on templates, and seem to be very limited. But, there are so many tools out there, and I have only briefly looked at a few, and read comparative overviews. <br /> <br />One online tool that I did look at in some depth is MIT's App Inventor for Android (which can also be made to work offline). App Inventor requires coding, but it is "visual coding", which I personally found to be a bit painful to use after awhile, trying to create anything meaningful. It also has extremely limited layout options. <br /> <br />Anyway, Configure.IT has a free account, with limitations of course, so I decided to "give it a spin". Clicked the "Register" button and got this: <br /> <br /><pre><code>Secure Connection Failed <br /> <br />An error occurred during a connection to The OCSP server suggests trying again later. (Error code: sec_error_ocsp_try_server_later) <br /> <br />The page you are trying to view cannot be shown because the authenticity of the received data could not be verified. <br /> <br /> Please contact the website owners to inform them of this problem.</code></pre>< <br /> <br />Hmmm, not a promising start for an online tool! <br />But, waited a few minutes, then it worked. Only the one-off hiccup. <br /> <br />I registered and plunged straight in, to find out how intuitive it is. Without reading any documentation, I created a new project, with a label and button, and the simple action to change the text in the label when click the button. <br /> <br />It was all very simple, and I downloaded an APK file for Android -- 5.1MB. <br /> <br />It was interesting creating the "code" for the action, simple graphical selections, but I don't as yet know whether it will extend to anything more complex, such as branches and loops. <br /> <br />There is a <b>PreviewIT</b> app to be installed on iOS and Android phones, to enable running the app on the device while developing. Haven't tried that yet. <br /> <br />First impressions, very positive. <br /> Smartface first impressions General I had downloaded Smartface a couple of months ago, and looked at it very briefly. It looked good. Now I am intending to play with it in more depth. <br /> <br />Firstly, I wanted to see what I could do without reading any introductions, no "getting started" guides, just plunge in and create an app. <br /> <br />Well, it is good news, I was able to create a simple Android app very easily, intuitively, and test it on an Android phone. <br /> <br />I started a new project, which created a screen with background image and toolbar at top with two buttons and a label. I was easily able to add my own button and a label, then created an action to change the text of the label when touch the button. <br /> <br />This is the handler script: <br /><pre><code>/** <br />* @param {TouchEventArgument} e Returns e.x and e.y values of touched points. <br />* @this Page1.TextButton1 <br />*/ <br />function Page1_TextButton1_OnTouch(e){ <br /> Pages.Page1.Label1.text = "I touched button"; <br />}</code></pre>< <br /> <br />...this is where I thought it was odd. There is auto-completion, which incidentally is very nice after suffering the slowness of Appmethod, and it was happy with just "Page1.Label1.text", Page1 being the current screen. However, the label text did not change when clicked button in the phone. It needed the "Pages." in front. <br /> <br />Smartface automatically recognised my Xperia when connected by USB, but at one stage failed to and I had to replug it. <br /> <br />The theme. I hate it, dark grey with slightly-less-grey-text, very low contrast, but there is no choice. <br /> <br />Cannot be run offline. Requires login at startup. I really do not like that. There are situations where I might not have Internet access. <br /> <br />At one stage it brought up Internet Explorer, a link to <b>Smartface In Action</b> app at iTunes (which is required to be installed on an iPhone, for Smartface to have on-device emulation). Yet, my default browser is set to SeaMonkey. I do not like IE, the version in my Windows 7 renders some web pages awful. Smartface should bring up the default browser. <br /> <br />I "published", that is, created an APK file, and my simple app is just under <b>11MB</b>. Hopefully it won't grow much as the app gains more features. <br /> <br />So, some impressions after about one hour of usage. Probably now I should read the getting started guides and videos. <br /> Appmethod saga coming to end? General The ongoing saga using Appmethod. You can follow the trail here: <br /><a href=></a> <br /> <br />I have been testing only on my phone that I carry with me, an Mlais M52, with Android 4.4.4. <br />No problems, the app I have been developing has worked well. <br /> <br />I have a collection of four smartphones, the oldest is a Sony Xperia C5303, with Android 4.1.2. <br /> <br />I decided that I should try my app on the Sony... at one stage of using the app, it crashed with an "access violation", then froze. <br />I uninstalled it, reinstalled again, ran it, this time it froze the entire phone. Nothing worked, not even holding down the power-button. Then all of a sudden the phone rebooted. <br /> <br />I have owned that Sony for a few years, but have hardly used it. It came with quite a lot of apps pre-installed, including MacAfee Antivirus, which I removed. <br /> <br />I tested my app on a OrientPhone 7inch, with Android 4.4.2. My apps works fine. <br /> <br />I tried to test on my Elephone P6000, with Android 5.0, but Appmethod would not recognise it. <br /> <br />I was warned about this by John Murga, who has also tested Appmethod. He found that apps created with Appmethod worked on one of his phones, crashed on another. <br /> <br /><b>Conclusion</b> <br />Appmethod is supposed to work on API-15 (Android 4.0.3) upward. Crashing on a mainstream brand such as the Sony Xperia is a worry. <br /> <br />I have enjoyed a few very intense weeks using Appmethod, and it is a great pity but I am starting to think that I may have to move onto a different app-creation tool. <br /> <br />First though, I will ask around, see if I can get hold of some more older phones, and test them. <br />Maybe need to test very recent phones with Android 5.x also! <br /> Ongoing report on Appmethod General I am continuing to use Appmethod, see my earlier posts: <br /><a href=></a> <br /> <br />I have more comments to make, as I get close to the end of the 30-day evaluation period. <br /> <br /><b>Instability</b> <br />There were some stability issues when I first started to use Appmethod, but it is getting worse. Perhaps this is due to the app I am creating getting bigger? <br />These are the issues: <br /> <br /><i>"stopped working" <br />"access protected memory" <br />"access violation" <br />dead keyboard <br />often busy</i> <br /> <br />The little whirling gizmo beside the mouse pointer keeps coming up, so frequently it is annoying. If I type anything when it is "busy", the text is lost. <br /> <br />Then increasingly often, it stays busy, and Windows reports that Appmethod has stopped working. <br /> <br />I turned off code-completion, but it has not reduced the frequency and duration of the busy intervals. <br /> <br />The dead keyboard issue is weird, Appmethod just stops receiving keyboard input. Still working otherwise. <br /> <br />And then there are seemingly random errors when opening my app or compiling. <br />Like today, I opened my project, and got this: <br /> <br /><i>"error reading TActiveStyleTextObject.ActiveTrigger"</i> <br /> <br />So I quit and restarted Appmethod, this time my project opened without error. <br /> <br />It reminds me of the old days in the 80s and early 90s, when I was using a Windows 95 word processor that crashed every 15 minutes. I just saved my work frequently -- as I am now doing with Appmethod. <br /> <br /><b>Android x86</b> <br />I have got to throw in this criticism, as it is very poor that a commercial product such as Appmethod does not support Android on the Intel x86 CPU. <br /> <br />I understand that there are difficulties, as Appmethod compiles down to machine code. There may also be licensing and extra costs involved. <br /> <br />Probably a separate app would have to be created just for x86, to deploy to online stores, which is another complication. <br /> <br />One can only hope that if popularity of x86 Android gets any stronger on phones and tablets, that Embarcadero will embrace it. <br /> More thoughts on Appmethod General I have been posting recently about Appmethod: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />I am continuing to be impressed with how powerful it is, but I have run into some issues: <br /> <br /><b>No markup-text view</b> <br />This really took me by surprise. All modern UI frameworks support rendering of some kind of text markup. Even Win32 back in the 90's supported Rich Text. GTK supports basic HTML tags. <br />So, I was most disappointed to discover that Firemonkey (the UI framework in Appmethod) does not support any kind of text markup. <br />There is a third-party product, I think only for iOS. <br /> <br /><b>FireDAC UI framework</b> <br />This is supposed to be a good thing. A database can be managed via components that are dropped onto a form (design window) just like the widget layout designer. <br />I have run into issues with it however, and right now I am going to do some research to find out how to manage my SQLite database at low-level code-only -- because I know what I want to do is actually quite simple and easy to do at the code level. <br /> <br />Note that I am criticizing FireDAC, but I am a beginner, fumbling around, and perhaps someone with more Appmethod experience will be more happy with using it. <br /> <br /><b>Rendering on different platforms</b> <br />This one is to be expected I suppose, to an extent anyway. I am designing a simple app, testing it on Windows 7 and on my phone. <br />I have learned that it is absolutely essential to test on the actual device, as there are surprises. Generally, the UI looks as expected in Windows, but then try it on the phone, and hey, some weird things happen! <br /> <br /><b>Size</b> <br />Of course, this is one of the biggest criticisms. The app I am developing has grown to a 10MB .apk, but 33MB installed. Obviously the files are compressed inside the .apk. <br />But once installed, in the Setup -> apps section in my phone, I can compare installed sizes, and my app is up there with the biggest. <br />But then, download size is the main thing of concern to potential buyers, and 10MB is similar to most others. <br /> <br />Now, a plus-point: <br /> <br /><b>Version control</b> <br />As I mentioned, Appmethod is very sophisticated. Even has version control built-in. I can see exactly what changes I made since any previous time/day, can roll back if desired. <br /> <br /><b>One code-base</b> <br />I should make this comment, as it is the nicest feature, the main reason one would use Appmethod, despite the bloat. <br />It is very nice to create just the one app and see it run on Windows and Android (and potentially iOS and Mac). <br />There are some deployment differences, and so far I have managed theses easily. One example, a #define test is required to set path for files that an app can read/write/create (very restricted in Android). <br /> FireMonkey links General <b>FireMonkey</b> is the UI framework used in Appmethod, also in other app-creation tools from Embarcadero. <br /> <br />The official docs are here: <br /><a href=></a> <br /> <br />Here are other sites: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />Some of those sites look as though they are "backed" by Embarcadero. Some look very dated. <br />They also are mostly <b>Delphi</b> and <b>Object Pascal</b> centric (Delphi is another app creation tool from Embarcadero, with a very long history). <br /> C++ textbook General I borrowed a couple of C++ books from my local library, however, as I am "really getting into it", decided to buy one. <br /> <br />A book that looks really good is "C++ Primer Plus", 6th Edition, 1200 pages. <br /> <br /> has it for US$30, but that is the original printing in 2011. Apparently, there was a reprint in 2012 with typos and other errors fixed, still the 6th Edition. <br />It costs, I think, about US$17 to post to Australia. <br /> <br />So, hunting for the 2012 reprint, I found it selling cheaply here in Australia, for AU$48 (+ $3 Express Post): <br /><a href=></a> <br /> <br />That would be one of the cheap reprints in Asia. <br /> <br />The one published by Pearson in the USA is selling here for considerably more (hmm, and it is only the 2011 edition): <br /><a href=></a> <br /> <br />I have ordered the book from Bookware. <br /> Convert Object Pascal to C++ General I worked through this example app that uses a SQLite database: <br /><a href=></a> <br /> <br />Some of the code is obscure, however, I do hope to eventually grasp what is going on. <br /> <br />I have made some mods to the example, one of which is to have a 'blob' datatype in one column of the database. <br />But then, I did not know how to convert text into blob format for storing in the database. Then found this: <br /><a href=></a> <br /> <br /><b>FMX</b> is an ancronym for <b>Firemonkey</b>, the UI framework used by Appmethod. <a href=></a> is a very interesting site, lots of examples, but it shows the Delphi heritage and most code is in Object Pascal. <br /> <br />The blob-read-write code is also in Object Pascal, however I found a converter: <br /><a href=></a> <br /> <br />...downloading it now. It's a Windows executable. <br /> SQLite and Android NDK General I would like to learn how to do stuff with the Android <b>Native Development Kit</b> (NDK). This is what Appmethod makes use of to bypass using Java. <br /> <br />This looks like a nice way to start learning: <br /><a href=></a> <br /> <br />Some convenient build scripts have been posted: <br /><a href=></a> <br /> <br />There is a special version of SQLIte, named <b>SEE</b>, that supports encryption of the database: <br /><a href=></a> <br /> <br />...SEE is not free though. Can't find a price anywhere. <br /> Appmethod looking good General I posted recently about Appmethod: <br /><a href=></a> <br /> <br />I am getting stuck into learning how to use it. Reckon it will take several months before I can rate myself as a competent app developer. <br /> <br />I want to use Sqlite for an app that I plan to develop, and checked out some requirements that I need. Sqlite supports searching of binary blobs in fields, one tick. Appmethod supports encryption of Sqlite database files, another tick. <br /> <br />Appmethod supports coding in Object Pascal or C++, and I will go with the latter. I only understand basic C coding, so right now getting stuck into learning C++. <br /> <br />My laptop still has the original Windows 7 Home Premium. Did an update, but I'm not going to update to Windows 10, not for awhile anyway. <br />Haven't used Windows for ages, and it is ok, except rather puzzling all the hard drive activity. I am doing nothing, no applications running, and the hard drive activity light keeps flashing on, never stops -- what on earth is Windows doing?!!! <br /> <br />Anyway, lots of fun! <br /> Remix mini countdown General 1,379,888 US Dollars raised, and nine days to go: <br /> <br /><a href=></a> <br /> <br />It will be interesting to see if there is a rush of pledges in the last few days. <br /> Appmethod app development General I have been checking out app-creation tools for awhile, as I have for quite some time been thinking of moving away from OS development into app development -- perhaps creating a "killer app". <img src=/news/images/smilies/lol.png /> <br /> <br />I posted about some dev tools here: <br /><a href=></a> <br /> <br /> particular, I like <b>Smartface</b>. Very simple to use, supports Android and iOS targets. Its main big feature is can develop for iOS without needing a Mac. <br />Coding is in Javascript, with the limitations that go with that, such as needing a runtime interpreter and having fairly sandboxed functionality (cannot use Smartface to create some types of hardware apps, such as a battery status monitor). <br /> <br />I had a very brief look at <b>WINDEV</b> Mobile. Really put off by their advertising -- unprofessional, even a bit sleazy. <br /> <br />Right now I am evaluating <b>Appmethod</b>, and I am liking it. Here is the site: <br /><a href=></a> <br /> <br />Fascinating -- the company is Embarcadero, and they purchased Borland many years ago. Ah Borland, I have fond memories of their products. Loved their Turbo Assembler. Borland has been off my radar since the 90s, well, it is very pleasant to see C++Builder etc still going strong: <br /><a href=></a> <br /> <br />Appmethod is Embarcadero's latest creation. I am running it right now, and have my phone plugged in via USB cable, with a simple app created by Appmethod running on it. <br /><img src= /> <br />I was most intrigued to learn that Appmethod apps are compiled down to the machine code. None of that Java bytecode stuff. Coding is in Object Pascal or C++, and in the case of Android, a .so shared library has to be created -- in other words, Android is designed for apps written in Java, and a little bit of trickiness is required to run a real compiled app. <br /> <br />But of course, compiled means speed. <br /> <br /><b>Installing</b> <br />Installing Appmethod, I discovered it is wise to let the installer also install the Android SDK and NDK. Although Appmethod can use them if pre-installed, I found this difficult to setup, so did a complete reinstall and just accepted the defaults. <br /> <br />Appmethod runs on Windows 7 or later. App can be created for Android, iOS, Windows and Mac. <br /> <br />This is one sophisticated product! Huge learning curve, but it will do everything a developer would want. <br /> <br /><b>Framework</b> <br />Appmethod has Firemonkey UI, so the one UI can be created for multiple targets. So, the native Android UI functions are not being used, however Appmethod does seem to do a good job of setting the look-and-feel to match the target platform. <br /> <br /><b>Pricing</b> <br />Now to price... the first 30 days are free, after that, Appmethod will only create Android apps, and only using C++. <br />That is a very good deal, and I congratulate Embarcadero for being so generous. It appears the free version is mostly uncrippled. <br /> <br />Down the track though, if I decided to use this product, I would probably want to create my apps to run on multiple platforms (no Linux unfortunately), so would go for purchasing: <br /><a href=></a> <br /> <br />...35 US Dollars per month, so that becomes 420 Dollars per year. Actually, quite reasonable, compared with the others out there. <br /> Android SDK APIs Linux I was asked on the forum just what versions of Android Appril is supporting. <br /> <br />Out-of-the-box, the Android SDK in Appril has this: <br /> <br /><i>4.0.3 (Ice Cream Sandwich) API-15 + system image <br />2.2.x (Froyo) API-8</i> <br /> <br />For a table of all releases, see here: <br /><a href=></a> <br /> <br />So the SDKs will build for either of those, but the emulator, which uses the "system image" is only Android 4.0.3. <br /> <br />However, it is easy to support any other version of Android. <b>In Android Studio</b>, choose <i>Configure -> SDK Manager</i>, and you can download whatever you want. <br /> <br />If you download another system-image, you can use the <i>AVD Manager</i> in Android SDK to create an emulator for it. <br /> <br />The thing to be careful of though, is they are big downloads, so if you are on a limited data plan, you could run out, or find it getting expensive paying for excess data. <br /> <br />Of course, the APIs installed in Appril represent minimum versions. For example, if you build for API-15 (Android 4.0.3) then the app should also work in all later versions (with some exceptions, such as the rules for writing to the SD card). <br /> <br />Note that Google recently stated that 90% of visitors to the Google Play Store have Android 4.0.3 or greater. <br />Which was why I chose API-15 as a good compromise to include out-of-the-box in Appril. <br /> Appril 7.1 (Quirky Linux) released Linux This is the latest release of Quirky Linux. The <i>April</i> series, that started at version 7.0, is built entirely from source using T2, and is not related in any way to any other distro. <br /> <br /><i>Appril</i> 7.1 is a specialised build of the Quirky Linux April series, for Android app developers. These packages are included: <br /> <br /><i>Android SDK <br />Android Studio <br />App Inventor <br />Oracle JDK <br />LiveCode</i> <br /> <br />These packages and their dependencies have blown up this Quirky way beyond our usual pup. The download file is just under 1GB. <br /> <br />The intention is to have out-of-the-box, just-click-and-get-going Android app development, catering for total non-programmers with App Inventor, through intermediate with LiveCode, to hard-core coders with Android Studio. <br /> <br />A significant feature of Appril is that App Inventor runs locally, whereas the official project is hosted by MIT "in the cloud". <br /> <br />A very significant difference from all other quirkies, puppies and Puppy-derivatives, is that Appril contains <i>all</i> development tools. Other pups are designed for users, with a optional humongous "devx" package available to provide all compiling, version control, etc. <br />Appril has it all builtin, absolutely everything you can think of. <br />This makes Appril superb as a compiling environment for any Linux project. <br />The full Samba as well. You can see the package list in the running Appril, in files <i>/root/.packages/woof-installed-packages</i> and <i>devx-only-installed-packages</i>. <br /> <br /><b>Installation</b> <br />Installation notes are here: <br /><a href=></a> <br /> <br />There are two files to choose from: <br /><b>appril-7.1-16gb.img.xz</b> is an image for a 16GB USB Flash drive or SD card. <br /><b>appril-7.1.usfs.xz</b> can be installed to any drive or partition. Use the <b>installquirky.x86</b> utility running in any reasonably modern Linux. <br /> <br /><b>Download</b> <br />This is the link at It will filter through to faster mirrors soon: <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />I have started a thread on the Puppy Forum: <br /><a href=></a> <br /> <br />This is all of the announcement and release notes, though comments will likely be posted. <br /> Appril plans Linux I will probably upload Appril in a few days. It all looks good, except I am having trouble with QtCreator -- it crashes. <br /> <br />I want to move on, have lots of other things to do. So have taken out QtCreator, but it will still be available as a PET if anyone wants to play with it. <br /> <br />One of those "other things" is Rob's Web Developer course. I posted recently that I pledged 15 UK Pounds for a Android Developer Course on Kickstarter: <br /><a href=></a> <br /> <br />That reached a stretch-goal of two extra courses provided free, and I chose Rob's Web Developer and iOS Developer courses. <br /> <br />I have started on the Web Developer course, and want the time to put into it. So something else has to give way, and that will be Appril. <br /> Creating Android app in QtCreator Linux Here are instructions to compile Qt to be used by QtCreator to build Android apps: <br /><a href=></a> <br /> <br />Yeah well, it wasn't that simple for me. This is what I ended up doing: <br /><pre><code>Android Studio: SDK Manager: installed APIs 10, 11, 16, 18 (note: api-11 is flagged as obsolete) <br /># export ANDROID_SDK_ROOT='/root/Android/Sdk' <br /># export ANDROID_NDK_ROOT='/opt/android/ndk-api15-armv7' <br /># export PATH="${PATH}:/opt/android/ndk-api15-armv7/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86/arm-linux-androideabi/bin" <br /># ./configure -android-sdk /root/Android/Sdk -no-directfb -no-pulseaudio -L /usr/X11R7/lib -I /usr/X11R7/include -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -opensource -confirm-license -prefix /opt/qt5a -nomake examples -R /usr/X11R7/lib -skip qtwebengine -android-ndk /opt/android/ndk-api15-armv7 -android-ndk-platform android-15 -android-ndk-host linux-x86 -android-toolchain-version 4.9 -xplatform android-g++ -platform linux-g++ -nomake tests -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors -force-pkg-config -no-xcb -no-gstreamer -no-pkg-config -sysroot /opt/android/ndk-api15-armv7/platforms/android-15/arch-arm <br /># make <br /># make install</code></pre>< <br /> <br />...the "X11R7" bits are probably not required. Nor the exported variables. <br /> <br />I created a simple app in QtCreator, and it compiled, and build a .apk file. <br /> <br />However, having a problem with the emulator. <br /> Remix mini-PC board demo General The Remix mini PC Kickstarter project is on-track for release in October. <br /> <br />It is nice to see that they have got a working board. This link has a short video showing the board in action, playing a game and using a game-console: <br /><a href=></a> <br /> <br />I previously posted about Remix mini PC here: <br /><a href=></a> <br /><a href=></a> <br /> Asus Zenbook UX305 General This is a nice laptop: <br /><a href=></a> <br /> <br />It runs Linux ok: <br /><a href=></a> <br /> <br />Manufacturers link in Australia: <br /><a href=></a> <br /> <br />Not that I am going to buy it! Interesting to drool over what's out there anyway. <br /> Appril is coming Linux At first, I thought that the codename "Appril" is pretty cringe-worthy, however, I kept using it and it grew on me. <br /> <br /><b>Appril</b> is now the official name for this special build of Quirky. This is a continuation of the April series, the same code-base, and with the kitchen sink thrown in for app developers. <br /> <br />It is going to be big, the download is likely to be over 900MB, however, it is a complete out-of-the-box app development environment. The intention is that you can get going creating and compiling apps for Linux and Android, without having to download anything, and even be offline. <br /> <br />Appril has the "devx" built-in, whereas pups normally have it as a separate SFS or PET file. This has everything for compiling, including Qt5. <br /> <br />Also included are the <b>JDK</b>, <b>Android Studio</b>, <b>Android SDK</b>, <b>App Inventor</b>, and <b>Qt Creator</b>. <br /> <br />The intention is that there will be no manual setup, just click an icon on the desktop and off you go. Not quite there yet. <br /> <br />There is another development tool that I am thinking of adding, and I am hoping to get it all wrapped up and Appril released in about a week. <br /> AI2 uses Android-SDK Linux I reported yesterday that I have got emulation working in App Inventor: <br /><a href=></a> <br /> <br />There is a package provided by MIT, named "ai2-setup", that provided the files needed for connecting to a phone via USB, or using an emulator. <br />That package has many quite large files taken out of the Android SDK, and a large data file that could have been generated at runtime. <br /> <br />I have an Android SDK PET, that I created with only API-15 support (Android 4.0.3) (as that is the minimum version that I want to create apps for). It is still a very large PET! <br /> <br />I have eliminated most of the fat in "ai2-setup" by getting AI2 to use the Android SDK directly. <br />ai2-setup is now a very small PET. <br /> <br />The emulator needs to have the 'MIT AI2 Companion.apk' installed into it, and I opted to do that at runtime, the first time that AI2 is launched. <br /> <br />Here are some useful links on working with the Android emulator on the commandline: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> Offline-AI2 emulator works Linux My offline App Inventor is looking good. I have now got the emulator to work. I have documented the steps here: <br /><a href=></a> <br /> <br />Here is a snapshot, as proof: <br /><img src= /> <br /> <br />...a super-simple app, the button when clicked plays a sound, and there is an image displayed, and a checkbox that does nothing. <br /> <br />My intention now is to package the emulator as a PET, to include in the next build of Quirky (special Android-developer build codenamed "Appril"). <br />Might checkout the Windows "ai2-setup" package first, to see if the emulator has a later API. <br /> Remix Mini PC well over 1 million General I recently reported on the Remix Mini PC project on Kickstarter: <br /><a href=></a> <br /> <br />The 45-day Kickstarter proposal now has 18 days to run and has raised US$1,174,379: <br /><a href=></a> <br /> <br />I pledged $40 for one 2GB mini PC, plus $15 postage. <br /> <br />It's looking good, and I am keen to play with Remix OS 2.0, which is the version that will ship with the mini PC. <br /> <br />There is a preview video of Remix OS 2.0 here: <br /><a href=></a> <br /> AI2 generates APKs Linux A quick progress report on App Inventor 2. Here is the previous post: <br /><a href=></a> <br /> <br />As I earlier reported, I have got AI2 running locally, so it can work offline. <br /> <br />It worked, and I was able to attach my phone via USB cable and test apps that I had created. <br />However, I could not get AI2 to generate .apk files, which is the Android package format, so I went on to other things for awhile. <br /> <br />Now I have tackled it again, and now generation of .apk files is working. <br /> <br />What is not yet working is the emulator. Which personally I don't need, as I have a selection of Android phones. <br />But, I will study this topic a bit more, and see if I can get it to work. <br /> Plasma Mobile General Yet another phone operating system! <br /> <br />See overview here: <br /><a href=></a> <br /> <br />And their new home page: <br /><a href=></a> <br /> <br />The project borrows a lot of code from Ubuntu Touch, apparently, but uses Wayland instead of Mir. Wayland already has some history on phones, as I think Sailfish OS uses it. <br /> <br />Plasma Mobile is intended to run many apps, including Android, Ubuntu Touch, and yes, even GTK apps. <br /> devx merged into main f.s. Linux I have modified my Quirky build system, also known as woofQ, to optionally merge the 'devx' into the main filesystem. <br />That is, there will no longer be a devx PET as all of the files needed for compiling, git, svn, etc., are already in the main build of Quirky. <br /> <br />For me, this is convenient, as I always install the 'devx' PET anyway. Now, the proposed "Appril" app-developer build of Quirky is up-front for developing Linux and Android applications, so I want everything built-in ready-to-go out-of-the-box. <br /> <br />woofQ has a file 'build-choices', with a new variable BUILD_CHOICE_MERGE_DEVX, which, when set to "yes', will cause the merge to occur. <br />This required modifications to '2createpackages' and '3builddistro'. <br /> <br />The proposed "Appril" build is looking good. It is going to be big though, very big. <br /> Qt 5.5.0 compiled in April i686 Linux As I am planning to include QtCreator in my proposed "developers April" -- "Appril" (cringe) -- I have compiled Qt 5.5.0. <br /> <br />I had attempted this recently, and failed. This time, persisted, and got there. A bit of a saga. <br /> <br />Right now, I am doing what I hope is the final compile, with this configuration: <br /><pre><code># ./configure -android-sdk /root/Android/Sdk -gstreamer 1.0 -no-directfb -no-pulseaudio -L /usr/X11R7/lib -I /usr/X11R7/include -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -system-sqlite -opensource -confirm-license -prefix /usr -sysconfdir /etc/xdg -nomake examples -R /usr/X11R7/lib -qt-xcb -dbus-linked -examplesdir /usr/share/doc/qt5/examples -datadir /usr/share/qt5 -archdatadir /usr/share/qt5 -libexecdir /usr/libexec -headerdir /usr/include/qt5 -docdir /usr/share/doc/qt5 -system-harfbuzz -skip qtwebengine</code></pre>< <br /> <br />There were fun and games getting to this point, of a successful compile! Here are some notes: <br /> <br /><b>Python 2.7.6</b> <br />This is the version in Quirky April, which is good, as Qt wants v2.7. However, Qt compile fails, reporting something wrong with Python. I googled around, and found that Python configuration checks something in a running kernel and configures the build appropriately -- well, my Python is compiled in T2, and this environment builds Python wrong, at least as far as Qt is concerned. <br /> <br />So, I compiled Python in Quirky April: <br /><pre><code>patches from t2: <br /># patch -p1 < ../dont-force-rebuild-all.patch <br /># patch -p1 < ../fix_readline.patch <br /># patch -p1 < ../python-setup.patch <br /># LDFLAGS='-L /usr/X11R7/lib' CPPFLAGS='-I /usr/X11R7/include' CFLAGS='-I /usr/X11R7/include' ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu --with-system-ffi --with-system-expat --enable-shared --with-threads --enable-ipv6 <br /># make</code></pre>< <br /> <br /><b>pciutils 3.3.0</b> <br />Peculiar, but "make install" did not install and libpci.pc in the T2 build. They have to be installed manually. This caused a Qt compile fail. This should be fixed in T2, but anyway, I fixed it manually, and ploughed on. <br /> <br /><b>qtwebengine</b> <br />After compiling for hours, Qt build failed, in the "qtwebengine" module, a dbus-related bug. I googled, could not find a patch to fix it, however, Linux From Scratch have simply avoided the problem, with configure option "-skip qtwebengine". So I did that too, and got a successful compile. <br /><a href=></a> <br /> <br /><b>/usr install</b> <br />Installing Qt5 into /usr, get some things going into odd places, so following guidance at Linux From Scratch, I have added some explicit paths. Recompiling now! <br /> App Inventor2 compiled Linux Just a quick report. I posted about AI2 here: <br /><a href=></a> <br /> <br />I have compiled AI2 from source, and successfully run it locally. That is, I can start the local server and point the browser at it, and develop apps. <br /> <br />I have not yet tested connecting a phone. <br /> <br />This is happening in Quirky April. I plan to create PETs and build a special developers edition of Quirky, for creating apps. At first, the target will be for Android. <br /> <br />Starting AI2 should be as simple as selecting it from the menu. Lots of fun, but it is getting on to 1am here. have to sleep! <br /> JDK, Android Studio PETs Linux I have made the JDK7 and Android Studio into PETs. <br /> <br />JDK (147.7M): <br /><a href=></a> <br /> <br />Android Studio (246.2M): <br /><a href=></a> <br /> <br />These should work on all pups, not just Quirky. They run on a 32-bit distro, or a 64-bit with 32-bit libs. <br /> <br />Installation is into /opt/android. A menu entry is created in the Utilities category, to run Android Studio. <br /> <br />I might not do it this way in future, instead might just create a download script to fetch them (that is, not have PETs). <br />I also created a PET for the Android NDK, but it is 901MB, so backed off. <br /> MIT Android App Inventor General App Inventor is a project started by Google, about 2010-2011 I think, though it might have had antecedents. The project was taken up by MIT: <br /><a href=></a> <br /> <br />This is graphical programming, using blocks that click together. It is intended to be a tool to enable non-programmers to create apps. In particular, the target audience is in education, students of all ages, and AI2 has proved to be immensely successful. <br /> <br />I have found AI2 to a very easy way to create Android apps, and easy to install. As I am using my phone as Internet access with wi-fi hot-spot to allow my laptop to access also, the wi-fi is tied up. So, I have to use a USB cable between my laptop and phone. <br /> <br /><b>Installation</b> <br />Very basically, it was a matter of downloading a special tarball to my PC, that has a daemon 'aistart' that must be run at every bootup (available for Linux, Windows and Mac). "USB debugging" must be turned on on the phone, and <i>App Inventor 2 Companion</i> must be installed from the Google Play Store. <br />On the PC, the web browser is then pointed at <a href=></a>, Google-login is required, then click <i>Connect -> USB</i>, open a new proeject, hey-presto, it will appear on the phone screen as you create it. <br /> <br />This is an example of the Blocks Editor: <br /><img src= /> <br /> <br />Here is a bit more "code": <br /><img src= /> <br /> <br />The <i>Designer</i> view consists of <i>Components</i> that can be dragged onto the phone, and on the right side are properties of a component: <br /><img src= /> <br /> <br /><b>Usage</b> <br />Fun! Very easy to use. I can see how kids would love this. However, it is also used by seasoned programmers, as it is a simple way to knock up an app. <br /> <br />The blocks are compiled direct to Java byte code, there is no intermediate Java source. So, I expect execution to be fairly fast, relative to other Java native apps. <br />A standalone .apk file can be created, that can be uploaded to the Google Play Store, or distributed any way you wish. <br /> <br />There are a couple of downsides for use by a professional programmer, or anyone who wants to create serious apps. <br />Firstly, the blocks take up a lot of space, so you don't have quite the efficiency of space as when you write code in a text editor. For an experienced programmer, using AI2 blocks probably takes longer time to create a program. <br /> <br />Secondly, you are limited to do whatever the provided blocks can do. Quite a lot, but if you are wanting to create serious apps, you are bound to hit the limits. <br />There have been various attempts to add extra functionality to AI2, in particular, a <i>Component Development Kit</i> (CDK). <br /> <br /><b>CDK</b> <br />The CDK was proposed back in 2011-2012, but got shelved, probably when Googled dropped the project. A couple of guys have resurrected it for Google Summer of Code 2015: <br /><a href=></a> <br /><a href=></a> <br /> <br />There is some recent discussion here: <br /><a href=!msg/app-inventor-open-source-dev/WmklFL20RAM/Q1R2oKm-W5MJ>!msg/app-inventor-open-source-dev/WmklFL20RAM/Q1R2oKm-W5MJ</a> <br /> <br />If these guys can bring this to fruition, it will be fantastic. <br /> <br /><b>Offline development</b> <br />The project is hosted by MIT, and any browser (Chrome or Firefox are recommended, IE is specifically not recommended), in any operating system can be used for development. So, development takes place online, and your project gets stored online. <br /> <br />If you would prefer to have complete control over your own project (me!), a couple of guys developed offline versions of AI2, with a server that runs in MS Windows. Here they are: <br /> <br /><b>AI2 Ultimate</b>: <br /><a href=></a> <br /><b>AiLiveComplete</b>: <br /><a href=></a> <br /> <br /><b>Project?</b> <br />I am intrigued by these offline versions. I wonder how difficult it would be to convert to running in Linux? <br />Well, what about running in Remix OS? -- now there's an interesting thought -- Remix is Android, so you could also test the app in the same OS, no need to have a phone connected. <br /> 972 PETs for April Linux Quirky April is built from .tar.bz2 binary packages compiled in T2, as well as some PETs. <br /> <br />Now that I am building Quirky Werewolf, from Ubuntu Wily Werewolf DEBs, I wanted access to the reservoir of packages from April, so I have converted all of the T2 binary packages into PETs. <br /> <br />This may be handy for Puppy-builders trolling for PETs. The April PET repo now has 972 PETs, a complete collection for building a Puppy or derivative. <br /> <br />The 64-bit PETs are here: <br /><a href=></a> <br /><a href=></a> <br /> <br />The 32-bit PETs are here: <br /><a href=></a> <br /><a href=></a> <br /> <br />Sources are here: <br /><a href=></a> <br /> Remix OS Mini PC Light Longtime Puppy fan and active Forum contributor <i>cthisbear</i>, posted this: <br /><a href=></a> <br /> <br />Actually, I had a few months away from Quirky development, and also wasn't reading the Puppy Forum, except for occasional glances. Today though, had a good read, and found the post from cthisbear. <br /> <br />Which linked to here: <br /><a href=></a> <br /> <br />And the Kickstarter project: <br /><a href=></a> <br /> <br />I'll be in that! $40 plus $15 postage to Australia, for the 2G RAM model. That's a good price. <br /> <br />I really want to play with Remix OS. I like Android, on my phone anyway. Remix promises to give me a desktop experience, and I can use all the Android apps, some of which I have got to like very much -- such as SafeInCloud, that I reported on recently: <br /><a href=></a> <br /> <br />I have been experimenting with Bluetooth mice and keyboards with my phone: <br /><a href=></a> <br /> <br />...which has been a good experience, and I am excited to find out how much more enhanced the experience will be with Remix OS. <br /> Build-order, dependencies Linux The Quirky build system, that forked from Puppy's <b>Woof</b> distro build system sometime ago, creates the root filesystem in sandbox3/rootfs-complete. <br />This is done by the '3builddistro' script. <br /> <br />There is a list of packages that 3builddistro reads, variable PKGS_SPECS_TABLE, which is in file DISTRO_PKGS_SPECS-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION} (ex: DISTRO_PKGS_SPECS-ubuntu-wily). <br /> <br />Up until now, the list in variable PKGS_SPECS_TABLE has been in alphabetical order, which is convenient for us, to quickly see what is there. 3builddistro reads PKGS_SPECS_TABLE and installs the packages into sandbox3/rootfs-complete in the order of entries in the variable. <br />Whatever order they are in, 3builddistro installs them in that order. <br /> <br /><b>Package post-install scripts</b> <br />This is not necessarily the best though, as a package may conceivably have a post-install script that assumes the dependencies of the package are already installed. <br /> <br />Looking at the Debian/Ubuntu/Raspbian/Devuan family, that all use DEB packages, these may have 'preinst' and 'postinst' scripts. However, 3builddistro totally ignores these. <br />3builddistro does not run DEB pre-install or post-install scripts, yet we still get a sane distro -- which might seem incredible, but that's how we have done it up to now. <br /> <br />3builddistro, and in some case the templates in folder 'packages-temples', do perform some hacks to fix some packages. For example, the gcc DEBs are missing some symlinks. <br /> <br />I would like to go the extra step and run those 'preinst' and 'postinst' scripts. It requires that sandbox3/rootfs-complete be chroot-able, and 'dpkg' needs to be installed. <br />Which means that the order of installation of packages into rootfs-complete becomes an issue. <br /> <br /><b>Install order</b> <br />I am tackling this order of installation issue first. I created script support/build-order, that is called from support/findpkgs, which in turn is called from 1download or 2createpackages. <br />Script 'build-order' creates file status/findpkgs_GENERIC_NAMES-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION} (ex: findpkgs_GENERIC_NAMES-ubuntu-wily) which has the package names in order so that a packages dependencies install first. 3builddistro now reads this. <br /> <br /><b>Finding missing deps</b> <br />While I was at it, I thought about the hard work we have to put in when creating the package list for a new release of Ubuntu (etc.). New packages, new dependencies. <br />So, I added code into script 'build-order' that finds all missing dependencies, and creates a list of extra entries that can be inserted into variable PKGS_SPECS_TABLE. <br /> <br /><b>To do</b> <br />Finding all deps and adding them to the package-list is nice. Already very useful, but this is a work-in-progress. Some improvements needed, and I have not yet tackled execution of the 'preinst' and 'postinst' scripts. <br /> <br />Note, it is too much work for me to put this into the Woof project, however, I am documenting it and a Woof developer should be able to extract the new functionality and insert into Woof. That's if they want it of course. <br /> SeaMonkey 2.33.1 for Werewolf Linux I have compiled SeaMonkey 2.33.1 in Quirky Werewolf. Have to do this, as Ubuntu does not have a SM DEB. <br /> <br />Here are the PETs: <br /><a href=></a> <br /> <br />To find out how I compiled it, it was done the same as when I compiled in T2 for April. <br />In fact, everything, all of the packages required for Quirky April (and Puppy) were compiled in T2, and build instructions for any package can be obtained by downloading my T2 build system. <br /> <br />My T2 build system is described here: <br /><a href=></a> <br /> can be downloaded, using Bones (version 0.3.1), and the build instructions for SeaMonkey, including patches, can be found in 'packages/www/seamonkey'. <br /> download_file abort Linux The previous few days I was using the Package Manager a lot, downloading DEBs from the Ubuntu server. <br /> <br />At one stage, the server was not responding properly, and file download would not start or would freeze partway through. <br />The Package Manager, also known as the PPM (Puppy Package Manager) before Quirky forked, calls /usr/sbin/download_file to do the actual download, and this puts up a urxvt window top-left of screen to monitor the progress of wget (the download utility). <br /> <br />There is no proper way to handle this freeze situation, so I have added an Abort button into download_file. It displays just below the urxvt monitoring-window. <br /> <br />It works nice. If a download freeze occurs, hit this Abort button and another window will popup and ask if you want to try again or abort, and if the file is partially downloaded will ask if you want to try to continue or start afresh. <br /> <br />This will be in the next Quirky. <br /> Linux kernel 4.1.2 Linux In the last couple of posts, I mentioned that I have created Quirky built from Ubuntu Wily Werewolf (15.10) DEBs: <br /><a href=></a> <br /><a href=></a> <br /> <br />Then, I was using an older kernel. Now I have compiled Linux kernel 4.1.2, with aufs4 patch, no other third-party patches. <br />I have finally left out ndiswrapper, as is seems to be obsolete. <br /> <br />It is configured for a Pentium-Pro CPU (i686) minimum, no support for PAE (so recognises max. 4GB RAM), and no support for EFI booting. <br />This is a very conventional configuration, however I intend that any old i686 PCs can be used as a workhorse for creating applications. Quirky will of course boot on Win8 PCs with legacy-mode enabled in the EFI "BIOS" firmware. <br /> <br />The kernel is configured with many drivers built-in, such as aufs, squashfs, f2fs and zram. <br /> <br />Now, I have added support for <b>apparmor</b>, though have not set it as the default, so has to be invoked by a kernel boot commandline parameter. <br /> <br />I also enabled <b>encrypted ext4</b> filesystem, which is a new feature introduced with the 4.1 kernel. No idea how to use it though. <br /> <br />All sources are here: <br /><a href=></a> <br />U#se#r: p#up#py P#as#sw#or#d: l#in#ux <br /> <br />The PETs are here: <br /><a href=></a> <br /> Ubuntu SDK working in Quirky Linux Ubuntu SDK is now running in Quirky Werewolf, my latest build of Quirky as reported in the previous post: <br /><a href=></a> <br /> <br />I spent many hours wading through the Ubuntu repository, looking for packages that seem to be useful/needed by the Ubuntu SDK, (QtCreator) apart from those listed as dependencies. <br /> <br />The Quirky Package Manager reported that package 'ubuntu-sdk' has 416 missing dependencies! <br /> <br />But, there were other packages needed. Plus gcc was misconfigured. Anyway, eventually I compiled a simple QML "hello world" GUI app, for the Linux desktop only so far. <br /> <br />Don't seem to have all required packages for Ubuntu Touch target, nor Android target. <br /> <br />Note, I downloaded Ubuntu Wily Werewolf DVD iso file, 2.3GB, but found that it is unable to detect my wi-fi network. What, never had that problem before. <br />Also, the installer won't just install to a partition, without installing a boot loader. That is so annoying for me. So, shelved installing Ubuntu. <br /> <br />next thing I have to do is go back to the Quirky build system, and do a build with all the needed DEBs, plus fix some installation issues. <br />When I can build a Quirky that supports a target of Linux-desktop in Ubuntu SDK, I will then look at other targets. <br /> PPAs for Ubuntu SDK Linux I posted about Ubuntu PPAs back in 2013: <br /><a href=></a> <br /> <br />I have started to setup the Quirky build system to build Quirky from Ubuntu 15.10 <b>Wiley Werewolf</b> (alpha1) DEB packages, with a view to creating an out-of-the-box developer platform based on <b>QtCreator</b>. <br />This is an idea that I introduced here: <br /><a href=></a> <br /> <br />The PPAs that have the QtCreator DEBs for <b>Ubuntu Phone</b> development are here: <br /><a href=></a> <br /> <br />I have put this repository into the Quirky Package Manager, so these PPA DEBs will be readily accessible and installable. <br />The repo will be named "ppa_main" in the Package Manager. <br /> <br />Read all about the Ubuntu SDK, which is QtCreator with enhancements for Ubuntu Phone development, here: <br /><a href=></a> <br /> Qt dual-licensing Linux I raised this question in a recent post: <br /><a href=></a> <br /> <br />I was browsing in a forum yesterday, and a couple of guys in South America were discussing the cost of various application-development products, and complaining that they are too expensive. <br />For a guy who is not on a top "First World" salary, most of these commercial licenses <i>are</i> too expensive. <br /> <br />Qt is asking US$174 to $315 per month for a commercial license, but do we need it? <br /> <br />I am thinking of a young chap on limited income, who would like to create an app, and make that a career, that is, live from proceeds of sale of that app. <br />This is to be encouraged -- there is nothing like money to encourage someone to keep on developing their application! <br /> <br />I read the Qt licensing terms a bit more carefully, and it does seem that someone can create an application and distribute it closed-source. But, there is a catch! <br /> <br />Look at this site: <a href=></a> <br />Quoting: <br /><i>In case of dynamic linking, it is possible, but not mandatory, to keep application source code proprietary as long as it is "work that uses the library" – typically achieved via dynamic linking of the library. In case of static linking of the library, the application itself may no longer be "work that uses the library" and thus become subject to LGPL. It is recommended to either link dynamically, or provide the application source code to the user under LGPL.</i> <br /> <br />This is further clarified here: <a href=></a> <br />Quoting: <br /><i>The LGPL allows you to keep the source code of your application private as long as it is "work that uses" the library. Dynamic linking is usually recommended here.</i> <br /> <br />However, it is required in your application to acknowledge that it uses LGPL libraries: <br /><i>The user of an application or device using LGPL licensed software has to be notified of their rights by providing a copy of the LGPL license to the end user and displaying a prominent notice about your usage of LGPL licensed software.</i> <br /> <br /><b>The catch</b> <br />So, you can create and distribute a closed-source application, but only where the target environment already has the LGPL libraries. If you need to include the libraries in your application-package, then you must have a commercial license. <br /><b>EDIT: I got that wrong, see comment.</b> <br /> <br />Linux is usually OK. Ubuntu Phone is going to be OK. Anything else, such as Android (?), iOS, Windows, and Mac, is not OK. <br /> <br /><b>A loophole?</b> <br />My reasoning is that if you can split a package, provide the LGPL libraries as a separate package, with user access to the source code, and another package with closed-source application, that would be legal. <br />However, I don't see how it can be done in a locked-down environment such as Android and iOS -- it seems that you would need administrator rights when installing the library package, that is, a "rooted" phone. <br /> <br />Well, apparently the iOS App Store forbids an app to require outside shared libraries. So Qt must be bundled in the App, so a commercial license is required. <br /> <br /><b>Another loophole?</b> <br />If you develop your app using the LGPL license, and distribute it closed-source for Linux and Ubuntu Phone, could you then purchase just one month of the commercial license and build your app for distribution to Android, iOS, etc.? <br /> <br />Very messy/restrictive, but apart from that, would it be legal? <br /> Java and Android M course General I recently posted that I had pledged 15 UK Pounds to this Kickstarter project: <br /><a href=></a> <br /> <br />Looking at it a couple of days later, now 11 days to go, and Rob is getting about 24 pledges per day. At that rate, he won't quite reach the 50,000 Pound plateau. <br /> <br />I hope that the contributions pick up toward the end, as if it reaches 50,000, Rob will throw in one of his other courses for free, that's two courses for 15 Pounds (about US$24 or AU$30). <br /> So many cross-platform app developers Linux My previous two posts started looking into a cross-platform tool for developing apps: <br /><a href=></a> <br /><a href=></a> <br /> <br />This is a good list of them: <br /><a href=></a> <br /> <br />...though, that list focuses on tools to target phone and tablet platforms. I do want that, but would also like, if possible, to target desktop platforms, such as Linux and Mac. <br /> <br /><b>Smartface</b> <br />One that really stood out as superb, is Smartface: <br /><a href=></a> <br /> <br />The host platform is Windows only, and only two targets, Android and iOS. <br /> <br />I got it running, and it is lovely. The amazing thing is we get the fully-featured product for free. <br />It ticks so many boxes: auto-complete in the editor, sqlite support, embedded browser support, extremely easy to use, lovely GUI layout designer, etc. <br /> <br /><b>QtCreator</b> <br />QtCreator is not in the list of developer tools in the URL at top of this post. However, it is a cross-platform tool, and does support phone targets. <br /> <br />I installed this in Quirky and have just started to look at it. Qt is supposed to run on anything, and is also the choice of the Ubuntu Phone developers. <br /> <br />It is not as simple as Smartface, preliminary look around, there is minimal help with using it to develop phone apps. <br /> <br />However, I will keep on investigating Qt, with QML. My installation of QtCreator doesn't seem to be working properly, so I might install the latest development release of Ubuntu, see how that pans out, then a bit later have a go at building a new Quirky based on the next release of Ubuntu. <br /> <br /><b>A cross-developer's Quirky</b> <br />This new Quirky will be my creation that is specifically for use as a cross-platform developer tool. Interesting idea that, a distro that is setup just as a development tool for creating apps that will run anywhere (Linux, Mac, Windows, iOS, Android, Ubuntu Phone, etc). So, I would build it with the 'devx' component already builtin, so it is all ready to go. <br /> <br />That's my thinking anyway. Does that seem like a good idea? <br /> LiveCode multi-platform coding Linux I have been investigating various programming tools that target multiple platforms. Basically, the idea is to create one code-base, that can be used for, say, Windows, Mac, iPhone, Android, etc. <br /> <br /><b>LiveCode</b> is one-such, and has the advantages that it can run on (be the host development environment on) Windows, Mac or Linux. Plus, has an open-source (free) version and a commercial version. <br /> <br /><b>Installation</b> <br />In the previous post, I wrote about installing the Java JDK and Android Studio in Quirky Linux (i686 build): <br /><a href=></a> <br /> <br />I downloaded LiveCode, file 'LiveCodeCommunityInstaller-7_0_3-Linux.x86', and run that, and it installed to /opt/runrev. <br />Inside '/opt/runrev/livecodecommunity-7.0.3 (x86)', I ran 'livecodecommunity.i386'. <br /> <br />However, LiveCode Setup does not recognise the location of the Android SDK (/root/Android/Sdk). <br />So, I went back to Android Studio, ran "", then choose "Configure -> Android SDK Manager", then ticked: <br /> <br /><i>Android 4.1.2 (API 16) <br />Android 2.3.3 (API 10) <br />Android 2.2 (API 8)</i> <br /> <br /> per guidelines here: <br /><a href=></a> <br /> <br />Note, a lot of other things got automatically ticked in the SDK Manager, don't know why, but too much, unticked a lot of it. <br />Anyway, after installing the extra things, LiveCode was happy. <br /> <br />Oh, yes, this is where I downloaded LiveCode from: <br /><a href=></a> <br /> <br />I have been playing with LiveCode, created a simple Android APK package, pretty easy. <br />Then I read the User Guide, for many hours last night -- disappointing that it is so out-of-date. <br /> <br />This is not an in-depth review of LiveCode, so I will just make some overall observations and conclusions. <br /> <br /><b>Usage</b> <br />Pretty easy to get going. It is not a professional "full cycle" development environment, as are some other tools (such as WINDEV), basically, you just get straight into designing the UI, then create the scripts to make things happen. <br /> <br /><b>Advantages</b> <br />As mentioned above, easy to get going. <br /> <br />A very active project. I am using v7, but v8 is promising some very exciting new features, such as <b>LiveCode Builder</b>, a lower-level language than Livecode, and <b>HTML5</b> target support. <br /> <br />A very active community, with many contributions, many third-party extensions. <br /> <br />Runs on Windows, Mac and Linux, with targets Windows, Mac, Linux, Android, iOS, Raspberry Pi. <br /> <br />Embedded database, embedded browser, good, I want those features. <br /> <br /><b>Disadvantages</b> <br />The scripting language has me worried. It is excessively verbose, which is supposed to make it very easy for non-programmers to use. However, it is too soon for me to make any definitive statement about this. <br /> <br />The GUI layout designer obviously was created in the desktop days. It does not really cater to the vastly varying screen sizes, resolutions, and changing orientation of smartphones and tablets. <br /> <br />No auto-complete in the script editor, which some other tools have. Given the huge number of functions, etc., some auto-complete functionality would be a help. In fact, some kind of auto-help to suggest what can be typed in a certain context -- for example, a handler for a button will send certain messages, such as 'mouseUp', and it would be nice to have shortlist appear of what messages are relevant in this situation. <br /> <br />Dynamically typed. Well, this is seen as good for beginner-programmers. Studying the documentation though, I can see how run-time coding errors could occur due to lack of type declarations. <br /> <br /><b>Reviews</b> <br />Here are some reviews. I notice this first one criticizes the lack of usage of native widgets in each target environment, but as far as I can see, testing Linux target only, it does use native widgets and theme (GTK2). <br /><a href=></a> <br />Note, Xojo looks good, but does not support Android target. <br /> <br />This one reports on developing for phones. It highlights the widget layout problem: <br /><a href=></a> <br />The workaround is to draw the widgets programmatically when a change of orientation is detected, but this seems to make the GUI-layout-designer somewhat redundant -- I plan to post about other development tools that handle this situation very elegantly. <br /> <br />Not a review, a news report: <br /><a href=></a> <br /> <br /><b>Conclusions</b> <br />The jury is still out. Overall, very nice, but I plan to try some of the competition -- well, I have been investigating what else is out there, need to look in more depth. <br />Will report back! <br /> <br />LiveCode home: <br /><a href=></a> <br /> Oracle JDK, Android Studio Linux I have decided to learn Java. I don't know how far I will get with it, as I never really liked Java. <br /> <br />Anyway, running Quirky, i686 (32-bit) build, I installed the JDK and SDK: <br /> <br />Well, first I installed dbus, which Quirky doesn't have. I used the Puppy Package Manager, got these from the "common" repo: <br /><i> <br /></i> <br />Then rebooted. <br /> <br /><b>Oracle Java JDK</b> <br />The download page: <br /><a href=></a> <br />I downloaded v7, this URL: <br /><a href=></a> <br /> <br />I don't know if this is the best way to install it, but this is what I did: <br /><i># tar -xf jdk-7u80-linux-i586.tar.gz <br /># cp -a -f --remove-destination jdk1.7.0_80/* /usr/</i> <br /> <br /><b>Android Studio</b> <br />Here is the download page: <br /><a href=></a> <br />I downloaded the studio-ide: <br /><i></i> <br /> <br />It expanded to folder "android-studio", that I installed: <br /><i># cp -a android-studio /usr/ <br /># export PATH="$PATH:/usr/android-studio/bin"</i> <br /> <br />...well, want that PATH at every bootup, so I created file /etc/profile.d/android_studio with that content. Note, contents of /etc/profile.d get called from /etc/profile. <br /> <br />I executed the startup script: <br />Opened a terminal in /usr/android-studio/bin, then <br /><i># ./</i> <br />An Internet connection is required at this point, as the rest of the SDK get downloaded, and expanded in folder /root/Android ...which after expansion, occupies a whopping 2.4GB. <br /> <br /><b>Android M online course</b> <br />Finally, I have put in 15 UK Pounds for this Kickstarter project: <br /><a href=></a> <br /> <br />...I had a look at one of the other courses developed by Rob Percival, it looks good. Text, code, and videos at each step. Plus, he speaks clearly (which is important, some fellows record videos and mumble their way through, much like modern British actors <img src=/news/images/smilies/lol.png /> ). <br />I have to be patient though, the course won't be available until October. <br /> <br /><b>Android M</b> <br />Android M has not yet been released. Probably 2016. Here is some info: <br /><a href=></a> <br /> <br />Rob will be giving JDK and SDK install instructions, Android-M-compatible versions, probably for Windows and Mac, so I will have to redo the installations then. <br /> HB-2000 keyboard design fault Light In my on-going "traveling light" project, I wrote about the tiny Bluetooth HB-2000 keyboard: <br /><a href=></a> <br /> <br />I own a couple of other Bluetooth keyboards, that are unwieldy in comparison. The HB-2000 is smaller and considerably lighter than them, eminently suitable where size and weight are important, such as traveling with a backpack or when a "carry on" bag is one's only luggage. <br /> <br />The HB-2000 is also considerably cheaper than the brand-name keyboards. However, I have discovered a design fault, shown in this photo: <br /><img src= /> <br /> <br />At each side at the front, there are rubber feet, that glue to the printed circuit board. See the cutout in the metal frame. <br />The problem is that the printed circuit board is only glued, with sticky glue, to the metal frame, and the rubber feet are affixed to the board only, not the frame. <br /> <br />Consequently, after using for awhile, the printed circuit board lifts away from the metal frame, and the rubber feet sink into the frame. <br /> <br />I first noticed this when the keyboard started to wobble on a flat surface. At first, I wondered how the frame could have become distorted, then closer examination revealed the cause. <br />Is this just stupidity, or didn't the designers care? <br /> <br />I fixed it by moving the rubber feet onto the frame, and might look around for bigger feet that will cover up the metal cutout. <br /> <br />I still love this keyboard! <br /> <br />Another thing that I want to do is construct a cover, to protect the keys when packed tightly inside a backpack or whatever. The cover can be opened up, and I envision having a slot in it, into which my phone can be inserted, so it becomes a mounting base for the phone. <br />...if anyone has this keyboard, or plans to buy one, and wants to design such a cover, I welcome your thoughts on it. <br /> B-Folders password manager review Light I recently wrote a mini-review of <b>SafeInCloud</b>, a very nice password manager: <br /><a href=></a> <br /> <br />These days, a "password manager" holds much more than just usernames and passwords, and can be used to keep a wide variety of information secure. I found SafeInCloud to be one of these modern secure information managers, very customizable, and a delight to use. <br /> <br />However, as I explained in the review, I decided to discontinue its use, due to lack of a virtual keyboard for entering the master password. <br /> <br />Since then, I have been testing more password managers, and finally I have found one that ticks all the boxes: <b>B-Folders</b>. <br /> <br /><b>Security</b> <br />The developers of B-Folders have put a lot of thought into security, and I cannot see anywhere that might be a potential weakness. <br /> <br />The Android version uses an internal webkit-based browser, to take care of secure auto-filling for login, though external browsers can be used, even the clipboard (which is cleared immediately after use). <br /> <br />B-Folders can use a virtual keyboard for entering the master password, the lack of which worried me with SafeInCloud and many other password managers. <br /> <br />However, the virtual keyboard is only for numeric input. For alpha-numeric entry, the standard Android keyboard is used. <br />Hmmm, a numeric password will have to be very long to be uncrackable -- see further notes on this at the end of this review. <br /> <br />B-Folders does not support a fingerprint sensor for login. There is probably a good reason for this, as B-Folders does not want to store the master password. Using a fingerprint scanner means that the master password has to be stored locally, encrypted of course, but that is still a potential weakness. <br /> <br /><b>Installation</b> <br />I obtained B-Folders from the Google Play Store: <br /><a href=></a> <br /> <br />OK, it is free, but offers an in-app purchase. This is a "Utility pack", that cost me $6.20, with some useful, though not essential, extras. <br /> <br /><b>Usage</b> <br />B-Folders does not have the "bling" of SafeInCloud, and in a few places is less intuitive. So, I had a good read of the online docs. I found that it actually <i>is</i> easy to use, and was soon entering data and testing online logins. <br /> <br />It is the "card" paradigm, in this case with folder hierarchy. There are ready-made cards, which can be customised for each instantiation, and new card templates can be created. Overall, extremely flexible for entering any kind of textual data. <br /> <br />B-Folders is touted as a password manager, notepad, task manager, contact manager, bookmark manager, and journal. Or anything else requiring secure textual storage. <br /> <br />It runs on the desktop also, on Windows, Mac and Linux --for a price of US$30 each. Here is a desktop snapshot: <br /><img src= /> <br /> <br />Running on Android though, the UI is a bit more constrained. Showing the equivalent of the above picture, this first snaphot shows the top-level: <br /><img src= /> <br />Here are cards inside the "Banking" folder: <br /><img src= /> <br />This is the content of one of the cards: <br /><img src= /> <br />Clicking on a URL in a card, there is an offer to open with internal or system browser (or any other browser that is installed) (this is all customizable): <br /><img src= /> <br /> <br /><b>Sync and backup</b> <br />SafeInCloud uses the Cloud for storage and consider it safe, as the database is a single encrypted file. The very fact of it being in the Cloud may be seen as a security threat, but if the password is uncrackable, all should be OK. <br /> <br />B-Folders takes a different approach, achieving syncing with its own wi-fi direct connection (or USB cable) between two devices. I haven't yet tried this, however, I have read user feedback, and they are positive reports. <br /> <br />Backup creates a copy of the database file. I tested this, and it reported a file "storage/sdcard0/backups.dat/2015-06-10_10-15_56.jrb" has been created. <br />There is also a restore from backup option. <br /> <br />Perhaps it would be nice to have send-to (share) for backup. Individual cards can be shared (which I think requires the paid Utility pack), and this sends a .vcf (Electronic Business Card) text file. <br /> <br /><b>Master password</b> <br />This is a snapshot of the virtual keypad for entering the master password: <br /><img src= /> <br /> <br />Yes, it is good to have a virtual keyboard, I am happy about that. Numeric-only though, hmmm. I did some experiments, and yes, I can create a very secure numeric-only password, but it has to be quite long. <br /> <br />Here are some password strength checkers, that also estimate time to crack: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />...warning, do not enter your actual proposed master password into these checkers! They could be sneakily collecting passwords. These sites are probably OK, but you never know. <br /> <br />In the case of a numeric-only password, a 18-digit to 24-digit non-repetitive, non-sequential password is very secure, taking centuries to crack. Of course, this depends on the hardware that is thrown at it. <br /> <br />The challenge though, is to create a long numeric password that can be remembered. And it must be remembered, as your entire life is in that file! <br /> <br /><b>Conclusions</b> <br />I love this app, the best password manager that I have found so far. <br /> <br />I would like to make some recommendations to the developers: <br /> <br /><b>1.</b> A custom folder for "Login list". Just as there already exists "Task list", "Contact list" and "Journal", which are effectively folders in which tasks, contact and journal cards can be created. <br /><b>2.</b> Send-to or sharing of the database file, as another way to backup or archive. <br /><b>3.</b> Markup for notes and journal cards. <br /> <br />Number 3 would be a nice enhancement, I think. Currently, the notes field in a card is plain-text only. It would be nice to be able to specify things like bold, italic, list, which can be saved as RTF, BBCODE or something similar. <br />I already tested entering a URL into a note, and it got recognised and became a link. Well, this principle can be extended, even perhaps to displaying images (img link, perhaps not embedded images). <br /> <br />Developer JointLogic website: <br /><a href=></a> <br /> TurboScan mini review Light I own an actual scanner, a Hewlett Packard ScanJet 4200C. I was reading recently about scanner apps for phones, so thought that I would give it a go. <br /> <br />For those who have not been following my blog, I own a 4G 64-bit Mlais M52 Red Note phone, with 5.5 inch screen and Android 4.4.4 (KitKat). I purchased it from China, for about AU$200. <br /> <br />What these scanner apps do is enable you to take photos of paper pages, have them auto-cropped and enhanced for readability, and exported as JPEG or PDF. More or less. <br /> <br />I tried a few, with mixed results. Let's see, my testing included these: <b>Genius Scanner</b>, <b>SimplyScan</b>, <b>Fast Scanner</b>, and <b>PDF Scanner</b> (by Grymala). <br /> <br />With all of these apps, I found it difficult to obtain a sharp image. That is, at night with room light turned on, and using the phone's flash. I did get significantly better sharper images during the day, with light coming through a window, also using flash. <br />So, some experimentation is needed to get good results. <br /> <br />Some apps have inadequate adjustments, for example one created awfully huge images, like 5MB for one page, with no way to reduce the size. One of them seemed unable to create multi-page PDFs. <br /> <br />I wasn't really enamored by any of them and was about to give up, then I discovered <b>TurboScan</b>, created by Piksoft. There is no free version, it cost me AU$2.99 from the Google Play Store: <br /><a href=></a> <br />...user feedback rates it at 4.6 stars. <br /> <br /><img src= /> <br /> <br />Based on my prior experience with blurry images, I chose a feature of TurboScan called <i>SureScan</i>, in which you take 3 shots of a page, doing your best to hold the phone steady -- well of course my hand did move between shots, but I was amazed at the result. The images are extremely sharp. Cropping to page edges was perfect, as well as contrast/brightness -- in fact, no background "noise" or "artifacts" at all. <br /> <br />As well as creating lovely sharp images, the file sizes were the smallest. For example, the page that created the worst-case 5MB file reported above, was now only 455KB. <br /> <br />Creating a multi-page document was very intuitive, and I was able to email a PDF, just a few clicks. <br /> <br />TurboScan created these perfect images without me having to tweak anything. The only thing I changed was "B/W" to "Color" setting. <br />In fact, these images are better than I obtain using scanning applications such as Xsane in Linux -- where I always have to fiddle with the settings to minimise backround artifacts. <br /> <br />There was no need to read a manual, usage is completely intuitive. I could post some usage photos here, but no need to. <br /> <br />Here is the developer's site. Note, TurboScan is available for the iPhone also: <br /><a href=></a> <br /> <br /><b>Another review</b> <br />These guys compared <b>CamScanner</b>, <b>Scanbot</b> and TurboScan, and rated TurboScan 3rd: <br /><a href=></a> <br /> <br />...well, CamScanner is subscription-based, whereas TurboScan is a small one-off price. Scanbot is rated 4.1 stars at the Play Store, and is free but then offers in-app one-time purchase or subscription for full features. Here is the Scanbot developer's site: <a href=></a> -- it looks good. <br />I haven't tried CamScanner or Scanbot. <br /> <br />There are other "reviews", however the ones I found are just superficial abbreviated listing of some of the features, hardly rating as a review. <br /> <br /><b>Conclusions</b> <br />That $3 was well-spent. SureScan is a winner for me -- I don't know how they combine 3 shots into one, but it works well. I did test single-shot camera mode, and got a sharp image, however SureScan creates a significantly superior accurate reproduction of the original page. <br /> SafeInCloud password manager mini-review Light <b>Preamble</b> <br />We all have this problem: heaps of passwords to remember. Heck, not just passwords, but lots and lots of personal and business data, stuff that is sensitive and could be used for identity theft if an unscrupulous person got hold of it. <br /> <br />There is an alternative. As I discovered recently, password managers have come a long way. Modern ones are not just for passwords, they can store everything. That is, they do not just have the traditional old "login:password" fields. Now, they are completely customisable, allowing you to add many types of fields, including, login, password, URL, email, phone number, pin, notes. <br />Furthermore, in phones, they integrate with the system and link automatically with the email client, phone dialer, sms messenger, etc. <br /> <br />So, we can "put all our eggs in one basket", have a single encrypted file with our entire identity in it, and one master password. <br />Typically, this file is saved online, using a Cloud service such as Dropbox or Google Drive, so you can access it from multiple phones and computers. <br /> <br />This is exciting, but isn't it also a bit scary? That master password has to be uncrackable. Unlike other passwords -- if you try to login to PayPal for example, you can only try so many times -- so it seems reasonable that a less-than-uncrackable password will suffice. <br /> <br />Then your uncrackable master password has to be something that you can remember. Actually, these are two opposing goals. Anyway, you can devise a reasonably uncrackable password of 8 or 9 characters, that you can train yourself to remember. <br /> <br /><b>SafeInCloud</b> <br />So, I read lots of reviews of the main password managers for Android in the marketplace. I settled on SafeInCloud, purchased for AU$6.49 from here: <br /><a href=></a> <br /> <br /><img src= /> <br /> <br />A nice overview is to be found at the developer's website: <br /><a href=></a> <br /> <br />Actual usage is extremely easy, in fact a pleasure. It is a very good idea to spend some time thinking about what "templates" and "tags" you want. <br />For example, I created a "Contact" template, and assigned it a default "People" tag. This means that SafeInCloud has also become my people database, and a very nice job it does of that -- I tested the phone-number and email fields, they work great -- clicking a phone-number field brings up the Android dialer, with option to phone or sms. A URL can launch the internal browser. <br /> <br />I am saving to Google Drive, though it can also save locally -- so you can back it up to an SD card if you wish. <br /> <br />Regarding online logins, there are security issues with using the clipboard, as discussed here: <br /><a href=></a> <br /> <br />SafeInCloud gets around this by using a builtin browser. I tested this, it works fine. <br /> <br />There is auto-fill for Android Chrome, but only for Lollipop. I have KitKat. I presume that Lollipop has a more secure way of performing auto-fill. <br /> <br /><b>Conclusions</b> <br />Absolutely love it, however, I decided to stop using it, for now anyway. There is something that to me seems to be the achille's heel of SafeInCloud, and that is entry of the master password. <br /> <br />For security reasons, the program will time-out, or after having lost focus, and need the master password to be re-entered. So, I found myself typing in this master password many times ...which got me thinking, and worrying. <br /> <br />Malware can sniff the keyboard. Can you guarantee that you don't have such a sniffing malware in your phone or PC? This problem is discussed here: <br /><a href=></a> <br /> <br />SafeInCloud uses the Android keyboard, and this is what I identified as the achille's heel. I contacted the developer and asked if there is any plan to implement a "virtual keyboard" -- the developer Andrey promptly replied, yes, but he cannot say when. <br /> <br />There are some other password managers that do have a virtual keyboard, such as DataVault, Steganos, LastPass, KeePass2Android and Password Safe. <br /> <br />Oh, I should add that SafeInCloud supports the fingerprint scanner in Android and iPhones. If the developer can expand that to some of the other Android phones now emerging with fingerprint scanners, that will be great. <br />However, a master password is still required, and it is saved in the phone. So, the master password will still need to be entered once, via a keyboard. Then there is the security issue of it being stored, encrypted, in the phone. <br /> <br /><b>The master password</b> <br />I played around, trying to find that elusive master password, both uncrackable and rememberable. One problem is that different password checkers give different results. <br /> <br />Here is some discussion on password strength: <br /><a href=></a> <br />And here is the author's "zxcvbn" online checker: <br /><a href=></a> <br />-- this is the estimator that SafeInCloud uses. <br /> <br />I came up with a 9-character password that the zxcvbn checker reported will take centuries to crack. However, another checker reported it as weak. Hmmm. My password has a slightly repetitive pattern, non-phonetic, non-English, but I reckon that a cracker algorithm could hunt for such patterns, so I doubt the accuracy of the zxcvbn checker. <br /> OfficeSuite Pro, PhotoSuite Pro, Photo Studio Pro mini-reviews Light <b>Photo Studio Pro</b> <br />I recently installed Photo Studio Pro. As I am writing reviews, I am purchasing the paid versions of apps, to unlock their full potential. There is also a Photo Studio free version. I paid AU$5.09 from the Google Play Store: <br /><a href=></a> <br /> <br />I bought it after reading lots of reviews, however, what I found is that it is somewhat lacking in "core functionality". That is, it is less of a paint editor, more of a photo editor. <br /> <br />I like to do low-level stuff, like convert between RGB and indexed colours, and posterizing to reduce the number of colours (and hence file size). <br />To my surprise, it doesn't even offer posterizing. Heaps of special effects, that might be interesting for those who want to post-process photos in a manner that I consider "superficial". <br /> <br />I am sure it is a great app for many people. But, I am still searching... <br /> <br /><b>OfficeSuite 8 Pro</b> <br />I came across what looks like an excellent paint/photo editor, named PhotoSuite 4, by MobiSystems. Then I noticed that they also offer an office suite, OfficeSuite 8. The docs on the free version state that if you purchase the pro version, you also get PhotoSuite. Quoting: <br /> <br /><i>ALSO AVAILABLE AS PART OF OFFICESUITE PREMIUM: <br /> • Security features - work with password protected files <br /> • Convert PDF to Word, Excel, or ePub <br /> • Track changes with multiple author support <br /> • QuickPDF Scanner - easily scan documents and images with your camera <br /> • PhotoSuite Professional - MobiSystems' powerful photo editing app <br /> • QuickWrite predictive keyboard - quicken your typing based on usage patterns <br /> • Microsoft Compatibility Font Pack - view documents the way they're meant to be seen with officially licensed office fonts <br /> • Spell check - make sure your important documents are error free.</i> <br /> <br />Well, there is no "premium" for sale, only "pro", so I bought that, for AU$12.56. Immediately after installing, it popped up a window saying that the <b>Microsoft Compatibility Font Pack</b> should be installed to get proper compatibility with Microsoft Office, so I went along with that, costing me an extra AU$12.58. <br /> <br />You can guess what is coming next -- <b>PhotoSuite</b> is not included. So, I bought it, despite beginning to think these people are rip-off artists. It cost AU$6.40: <br /><a href=></a> <br /> <br />So misleading, downright sneaky I reckon. <br /> <br />Regarding OfficeSuite Pro, I experimented with editing a .docx file. Yeah, it works, however the UI is the typical clumsy thing I have come to expect with most Android apps. <br /> <br />There are some things that make it just plain frustrating to use, such as the lack of precise control over zoom factor -- you have to fiddle about with finger-pinching to try and get it right. <br /> <br />There is not HTML WYSIWYG, which rules it out for me. Yes, you can open a HTML file, but it just opens as a text file. <br /> <br />Softmaker Textmaker HD does support HTML WYSIWYG. Also, the UI is nowhere near the usability of Softmaker Office (and Textmaker) HD. <br /> <br /><b>PhotoSuite 4 Pro</b> <br />This app is quite good. Apart from the feeling that I wanted to stay away from MobiSystems, I found myself liking PhotoSuite 4 Pro. <br /> <br /><img src= /> <br /> <br />Ah, it has "posterize", and it works very well. I cropped an image, posterized it, and was able to select percentage of colour reduction, I chose 50%, and saved it. That's nice, it actually has "Save as..." -- an obvious thing that apps should have, sadly lacking in so many Android apps. <br /> <br />Anyone know of another Android paint editor that does posterize? I have not yet found one that will convert RGB to indexed colours (which is another technique for reducing file size). <br /> Andromium OS on Android Light Puppy Forum member 'don570' posted about <b>Andromium OS</b>: <br /><a href=></a> <br /> <br />Link to here: <br /><a href=></a> <br /> <br />Andromium OS website: <br /><a href=></a> <br /> <br />I watched one of the videos. The developer mentioned that <b>Chromecast</b> can be used, however is laggy (I can confirm that!). He has posted this overview of <b>MHL</b>: <br /><a href=></a> <br /> <br />Also this blog about Chromecast: <br /><a href=></a> <br /> <br />My <b>Mlais M52</b> has OTG but does not support MHL. This means that I am definitely on the lookout for a phone that does, and thanks to the above blog post, which clarifies the capabilities of the different MHL standards, I want MHL version 3.0. <br /> <br />So where does this leave <b>Ubuntu Touch OS</b>? Interesting question. Canonical has been reinventing the wheel for the last couple of years, whereas Andromium OS seems to be leveraging on what already exists. Furthermore, Andromium OS is already available, from the Google Play Store. <br /> <br />I will be testing it on my phone of course. Will report back! <br /> Computing on-the-go: the complete kit Light The agenda of the "traveling light" category of my blog is to explore means of reducing the volume and weight while traveling. The type of traveling I engage in includes backpacking in the wilderness, to international jet travel. <br /> <br />Regarding the latter, I travel with a carry-on bag only. On previous occasions I have also carried a laptop, however my objective is to totally remove the need for a laptop, replaced with a smartphone only. <br /> <br />Is it feasible to do all of one's computing on only a smartphone? I need to do a lot of keyboard input, plus a bit of graphics, so the input devices do need to be practical/productive/usable, and the screen size/layout needs to be usable. <br />The short answer to this question is "yes!". <br /> <br />I have been putting together a smartphone "travel kit", consisting of all the bits and pieces that I will need to take. For sometime I was searching for the "ideal" Bluetooth mouse, and found it recently, reported here: <br /><a href=></a> <br /> <br />The <b>Logitech T630</b> mouse continues to be a very pleasant experience to use. I never have any problem with pairing dropping out. If the phone goes to sleep, it is only necessary to move the mouse and the phone wakes up and the pointer appears on-screen. If I power-off the mouse, the phone recognises that and enables the internal keyboard, then power-on the mouse and the phone recognises and brings back the mouse-pointer and disables the internal keyboard. <br /> <br /><b>HB-2000 Bluetooth keyboard</b> <br />The next item I definitely need is a keyboard. I need to do a lot of typing while traveling, and on-screen typing is too painful. The keyboard has to be small and light, and have a USB-rechargeable battery, designed for Android, and have a micro-USB socket (<i>not</i> a mini-USB socket designed for Apple phones). <br /> <br />There are suitable, but expensive, keyboards from Logitech and Microsoft, however, I discovered one that ticks all the boxes and is very cheap, only about AU$24, or US$18, the HB-2000: <br /><a href=></a> <br /><img src= /> <br />No problem pairing with my phone, and it is a delight to use. The keys have a very pleasant click-action. Yes, the keyboard is small, however I quickly adjusted to it -- it probably helps that I don't have large chunky hands. <br /> <br />I tested what happens if I leave it alone for awhile. The phone goes to sleep, and pressing a key does not awaken it. However, jiggling the mouse does awaken the phone, and restored the current app. The keyboard itself sleeps after 25 minutes inactivity, however a single key-press wakes it up after 3 seconds. <br /> <br /><b>The complete kit</b> <br />So, what does the complete laptop-replacement look like? Here it is: <br /><img src= /> <br /> <br />Cute hey! <br />The holder for the phone I bought from here: <br /><a href=></a> <br /> <br />...notice the knobs on the front stick up a bit too high. It is plastic, and I might cut it down a bit. Or, checkout some other foldable holders. <br /> <br /><b>Using the kit</b> <br />I have <b>Softmaker Textmaker HD</b> installed on this phone. It is only a 5.5 inch screen, and the Softmaker Office HD suite is intended for tablets, however, with the mouse I find the 5.5 inch screen very usable. This is a snapshot of Textmaker HD on my phone: <br /><img src= /> <br /> <br />There is one absolutely marvelous thing that I like about using Textmaker HD with mouse, and that is support for mouse-over highlighting. This is something that we have taken for granted for decades on the desktop, but is lacking with the touch interfaces. <br />Moving the mouse pointer over any clickable field/button/area/link and it prelights. The Office HD suite supports prelighting, unfortunately, most other Android apps don't -- they do work with the mouse, but have no support for anything mouse-like such as mouse-over. On the desktop of course we also have tooltips that can popup on mouse-over, which the Office HD suite does not support, probably no Android app does. <br /> <br />I can type away, and be just about as productive as when I am using my laptop. Obviously though, a 5.5 inch screen is a tiny thing to have to squint at. It does work, Textmaker HD does a good job of adjusting its UI to the available space, however I reckon a slightly bigger phone would tweak the trade offs to be just right for me. <br /> <br /><b>Conclusions</b> <br />My <b>Mlais M52</b>, used in these snapshots, I purchased a month or so ago, see here: <br /><a href=></a> <br /> <br />The 5.5 inch screen is 720p. I also own a 7 inch OrientPhone, however, I have found it to be impractical to carry in a pocket. Even a waist belt pouch is impractical. <br />So, I have narrowed it down: I think that the "ideal" phone has a 1080p screen about 6 to 6.3 inches, with narrow bezels, and hopefully not more than about 180 grams. Of course, I also want dual-sim and SD card slot. <br /> <br />If I am staying somewhere with a TV, I can use its screen. This can be done two ways, either with a <b>Chromecast</b> or an <b>MHL adaptor</b>. I reported on Chromecast here: <br /><a href=></a> <br /> <br />I would prefer to use MHL I think, which is just a simple adaptor that plugs into the micro-USB socket on the phone, and allows simultaneous charging of the phone. It also requires a HDMI cable. Not too much extra stuff to carry. Note, my M52 does not support MHL, which is another reason to consider upgrading sometime. <br /> <br /><b>The future</b> <br />I have traveled to India many times, and intend to go back there soon. I stay in very cheap accommodation, and I always worried when I went out and left my laptop behind in the room. No more. In future, I will take the phone with me, in an inside pocket. Keyboard and mouse are items that can be sacrificed, easily replaceable. <br /> <br />This leads me onto another topic, how to carry the phone, passport and other documents securely on your person at all times, never leaving them behind. I have designed, and made, a special vest to be worn inside a shirt, however this is a topic for a later report! <br /> <br />Regarding a slightly bigger phone, yes, that is on the agenda. There are some cheap phones that come close to the required specs, however, I am hoping that later in 2015 there will be one that really "hits the mark" for me, particularly regarding weight. <br /> <br />I might as well ramble on a bit more... in my dotage (I'm 65), my computing needs have become simpler ...just some writing, a bit of graphics... to the point where I am even thinking that this phone travel kit could become my only computer system, even when sitting at home at my desk. Probably with MHL and small TV/monitor. <br /> <br />If you have any thoughts about the potential of this computing travel kit, note that user-comments are turned off for this blog, due to security problems, however, you can send me feedback via the "Contact Me" link at top of the page, and I will consider posting it as a comment here. <br /> TouchDraw early impressions Light <b>TouchDraw</b> for Android is a vector drawing app. I purchased version 1.10.11, it cost me $10.99 from the Google Play Store. This is a mini-review, after just a few days usage. <br /> <br />This snapshot is on a tablet screen: <br /><img src= /> <br /> <br /><b>Saving</b> <br />Using it for the first time, I chose to create a new drawing, but when I saved, there was no option to give it a name, nor where to save it. It just got saved as "Untitled Drawing.t2d" in a default location, /storage/sdcard0/Android/data/com.elevenworks.touchdraw/files/Documents/. <br /> <br />I found that the file can be renamed afterward, but could not see anywhere to move it into a folder. It seems that I have to create the folder first, then choose to create a new drawing ...ah, this works, but still gets saved as "Untitled Drawing" and have to rename it afterward. <br />...another ah, I found that I can create a folder, then drag the file into it. <br /> <br />Still seems a bit awkward. OK, I get the beforehand folder creation, but would like to be able to name the file up-front. <br /> <br />In Android Setup, I have "Default Write Disk" set as the "SD card", that is, sdcard1, my plugged-in 64GB card. Note, <b>Root Explorer</b> reports my SD-card as "sdcard1" and the internal phone memory as "sdcard0". <br />Despite this, TouchDraw has defaulted to saving in the internal memory, and that can't be changed. That's a negative. <br /> <br />When I want to open a drawing, it is good to see that TouchDraw recognizes the existence of Root Explorer, and offers that to find the drawing to open. <br /> <br />However, there is still the problem of being unable to save to my SD card in the first place. I think it would have been best if TouchDraw had recognised the Setup option to set default write disk, but at least the Preferences in TouchDraw should have an option to move and/or set the default save path. <br /> <br />I do understand the problems with saving to SD card with KitKat, though in my case it is rooted so no problem. But even when not rooted, KitKat does allow saving to the SD card in prescribed folders, and Lollipop eases that situation further. <br /> <br /><b>Pen mode</b> <br />TouchDraw works with my Logitech T630 mouse. very nice, but there are things that I would like to do with the mouse, that I can't. <br /> <br />The Preferences has the option of "Pen mode", which looks great if you have a Samsung Note with S-pen. But, a mouse is not recognised. it would be nice if there could be a "Mouse mode", maybe to work like Pen mode, and recognise some more mouse functions, such as up-down and left-right scrolling, middle-button-click. <br /> <br />The proposed Mouse mode could also have the option of locking out most finger operations, just like Pen mode. Though, as with Pen mode, finger pinching has to be retained. <br /> <br />That's another thing, I would prefer zoom factor to be in the menu, as well as having finger pinch. When using a mouse, it is nice if everything can be done by the mouse. <br /> <br /><b>Import/export</b> <br />The documentation states that TouchDraw is able to open and save to SVG format. <br /> <br />Having said that, I run into problems immediately. I just want to export the file as SVG, however, it seems I can't -- I can only "share" it as SVG (to gmail, etc). Or I can "Save to Gallery", but only as PNG or JPEG. <br />Huh, why can't I export to SVG locally? Or for that matter, export any format wherever I want locally? Exporting PNG and JPEG to the Gallery only is extremely restrictive. <br /> <br />I solved the problem of not being able to export to the SD card, by installing <b>Send to SD card</b>, as reported in a comment posted here: <br /><a href=></a> <br /> <br />This is a generic solution. Any app that can share a file can use this to save it to the SD card. <br /> <br />Good, now back onto SVG specifically. In TouchDraw, I created a very simple drawing, just one rectangle, filled with red. I exported it to the SD card, and checked it, looked at the text in the file, yep OK, that's definitely an SVG file. Then, in Root Explorer, I clicked on the SVG file, expecting it to open in TouchDraw. <br /> <br />Well, TouchDraw attempted to, but gave an error: <br /><i>Import Drawing Error <br />You did not pick a file type that TouchDraw knows how to import.</i> <br /> <br />Huh? TouchDraw is supposed to be able to import SVG!!! <br /> <br /><b>Conclusions</b> <br />On a Linux system I use InkscapeLite to do simple things, such as create a composition of one or more imported bitmap images, with overlays such as text, and exporting the result as a bitmap file. <br />This sort of thing I can do with ease in TouchDraw. <br /> <br />So yeah, it has what I want, and basically, I am pleased with it. However, as pointed out in this mini-review, I have identified room for improvement. <br /> <br />Mouse support (lack thereof), and extreme inflexibility of local saving, are two of them -- I have read user feedback, and it is good to read that the developer is responsive to user reports -- so I will submit my suggestions! <br /> <br />I do though, find myself wishing that Softmaker had developed a drawing module for their Office HD suite! -- that is a beautiful user interface, proof that a traditional UI works exceptionally well in a phone/tablet with S-pen or mouse. <br /> <br />For example, Textmaker has the traditional "File" menu, with "New...", "Open...", "Close", "Save", "Save as...", "Save all", "Properties...", "File manager...", "Send...", "Print...", "Export...", etc, so logical, simple, and all choices provided for maximum productivity. <br /> <br />Itemising some of my wish-list for the developer: <br /><b>1.</b> Respect the Android <i>Settings > Storage > DEFAULT WRITE DISK > SD card</i>. Or, at least have the option to change saving to the SD card in Preferences. <br /><b>2.</b> Recognise first-time save and offer to enter a filename. <br /><b>3.</b> Add "Mouse mode" in Preferences. <br /><b>4.</b> Fix importing SVG. <br /> <br /><b>Links</b> <br />This is the Google Play Store: <br /><a href=></a> <br />Developer's home: <br /><a href=></a> <br /> Logitech T630 Bluetooth mouse Light I am gradually working toward my "master plan" of a smartphone that will completely replace my desktop computer, as per my "traveling light" agenda. <br /> <br />Part of that plan is to find compact keyboard and mouse. I have experimented with some mice, and today have purchased what might turn out to be "the" mouse for my needs. <br /> <br />The <b>Logitech T630</b> is described here: <br /><a href=></a> <br /><img src= /> <br />Currently, Myer are selling it very cheaply here in Australia, as it is a "end of line" product: <br /><a href=></a> <br /> <br />The regular price is AU$99, Myer have discounted it to AU$70, but when I went to the city store here in Perth, I was told the price is only AU$49. <br /> <br /><b>Getting started</b> <br />Got it home, it paired with my Mlais M52 phone, and works great. Smooth, gestures work (with qualifications). <br /> <br />I should mention -- most important -- when I turned it on, it was as dead as a Dodo. I left it on charge for awhile and that fixed it. Lithium batteries normally come new at about 50% charged, but they do self-discharge. it may be that my mouse has been on the shelf at Myer for a very long time. Myer seems to be Apple-oriented, which is perhaps why they are dropping the T630. <br />I recall reading that it is not good for a lithium battery to completely discharge, so it may be that my battery is compromised. The mouse can be opened up, and it is probably a standard battery. <br /> <br /><b>OS compatibility</b> <br />Logitech do not officially support Linux or Android, only Windows (and the T631 supports Apple Macs). However, from reading around, it works fine with both Linux and Android. <br />For example, Linux: <br /><a href=></a> <br /><a href=></a> <br /> <br />Reading Logitech's forum, Windows users are having problems, in particular the pairing dropping out. One situation is that pairing is lost after a reboot. Another user reports having to recharge it twice a day (though it is supposed to last 10 days). <br /> <br /><b>Android tests</b> <br />This guy has tested on a Samsung Note 10.1 and identified one problem: <br /><a href=></a> <br /> <br />...yes, the keyboard. Same problem on my phone. However, for me it is not a problem, as I intend to use a Bluetooth keyboard at the same time. <br /> <br />I rebooted my phone, and I am pleased that I had the on-screen keyboard back. But, as soon as I moved the mouse, the on-screen keyboard disappeared, and I had the mouse pointer. This behaviour I am very happy with. <br />So, pairing has occurred after a reboot -- take that, you Windows users <img src=/news/images/smilies/lol.png /> <br /> <br />Gestures and double-finger-taps are designed for Windows, and though things do happen on my phone, I haven't yet figured it out. But, left-tap and up-down scrolling is working and that is mostly what I want. Right-tap acts as the "back" button. <br /> <br />Left-right scrolling doesn't seem to be working, and this mouse does not support pinch-zoom at all. So, still have to use the finger on the screen sometimes. <br />Note, left-right scrolling is working in this video with a Samsung phone: <br /><a href=></a> <br /> <br /><b>Conclusion</b> <br />This mouse is great! Rechargeable, so no need to replace batteries. Highly portable. Compared with a "normal" mouse, I have nothing negative to say, it works very nicely, and I have no problem with its very small size. <br /> <br />Stay tuned, I plan to do a review soon with a Bluetooth keyboard, and the T630 mouse. <br />There is one thing I need to state in advance though -- my phone works great with a Bluetooth keyboard and T630 mouse. There are some suggestions on a forum that as the T630 seems to think it is both a mouse and a keyboard, that an actual Bluetooth keyboard might not work. However, no problem -- I own a Logitech K480 keyboard, and it works great with the T630. <br />However, I am working toward "traveling light" and want a smaller and lighter keyboard, which I have on order. Will report back on that combo. <br /> <br /><b>More links</b> <br />A review, testing on Android device: <a href=></a> <br />Test on Windows: <a href=></a> <br />Testing on Windows, Chromebook, Android: <a href=></a> <br /> Softmaker Textmaker HD Light <b>Textmaker HD</b> is a powerful word processor app for Android. Many people say it is the best of all the office word processors for a tablet. Home: <br /><a href=></a> <br /> <br />The HD means that it is intended for a tablet, that is, a larger screen. <br />However, with a stylus or mouse, it is usable on a phone. <br /> <br />I did briefly try with a capacitive stylus, but it would probably work best with the fine-point Samsung Note series stylii. <br />Or a mouse, either bluetooth or USB. <br /> <br />I had saved my Textmaker .apk file, and reinstalled it after resetting my phone. <br />However, when I tried to run it, there was a message about invalid key, and quit. <br /> <br />Oh dear, I really am up against it, trying to avoid Google login! I probably have to go back to the Play Store and reinstall it. <br /> <br />Note, there is an app called <b>Log Out!</b> that logs out from all Google accounts. This after-the-event logout is not what I really want though. I want to manually manage both login and logout. <br /> <br />If I login to the Play Store using Chrome, Android will grab that info. I might try Firefox. <br />problem with Firefox on Android, I don't like it -- even the basic Android feature of double-tap to magnify text is not supported, which is pretty poor. <br /> How to root your Android phone Light Well, this is how I did it for the Mlais M52 Red Note, with KitKat 4.4.4. <br /> <br />This forum has ongoing information about the M52: <br /><a href=></a> <br /> <br /> has advice to use <b>Kingoroot</b> to root the phone. Unfortunately, I found that does not work. <br /> <br />Instead, I found instructions to use <b>iRoot</b>, that does work: <br /><a href=></a> <br /> <br />Unfortunately, the Internet has many places to download iRoot for Windows, and the one I first installed also installed heaps of crap. Beware sites that seem to be offering later versions, and look like proper official sites. <br /> <br />This seems to be the author's site, and where I got it on the second go: <br /><a href=></a> <br /> <br />A Windows driver is also required, that you get from here: <br /><a href=></a> <br />Scroll down, you will see this link to the file to download: <br /><a href=></a> <br /> <br />The first link has instructions, but this is what I did: <br /> <br /><b>1.</b> I installed the Windows Universal ADB driver, <i>without</i> the phone connected. <br /><b>2.</b> I plugged in the phone, via USB cable, then installed iRoot. <br /><b>3.</b> I think there was a button to click to perform the root operation. Note, it is important that your PC have a working Internet connection at this time, as iRoot automatically downloads scripts for the type of phone that it has detected. Also, watch the phone screen, you might have to approve an installation. <br /><b>4.</b> That's it, done. iRoot should report success. It does leave behind some apps on the phone -- I was uncertain just what was installed, I think an "su" program, and something else in Chinese -- I deleted the latter. <br /> <br />I now seem to have three "su" management apps on my phone, Kangouser, SuperSU and Superuser, the first installed as a system app, don't know how to get rid of it. <br /> <br />Anyway, a check with <b>Root Checker</b> verified my phone is rooted, and <b>Root Explorer</b> is able to copy files to/from my external USB Flash stick. <br /> Optus data saga Light I purchased a Virgin Mobile data sim on April 8, as I reported here: <br /><a href=></a> <br /> <br />And I have been using it in my cheap 4G phone, an Mlais M52 Red Note: <br /><a href=></a> <br /><a href=></a> <br /> <br />I have been getting blazing speed. There is a strong 4G signal here, and uploads and downloads are typically around 1MB/sec (that's mega bytes per second). In fact, when I was uploading Quirky, the files were going up at about 1.5MB/sec. <br /> <br />Compared with the 3G speeds that I have been using all these years, this is phenomenal. <br /> <br />Until yesterday! Yesterday afternoon, the speed suddenly got throttled, so slow that some web pages never even completed loading. Some sites, such as, remained as a blank window. <br /> <br />Still slow this morning, so I phoned Virgin Mobile technical support. They reckoned nothing was wrong at their end, and suggested it might be a problem with my phone. My nice new M52, no!!!! <br /> <br />So, I embarked on a series of tests... <br /> <br /><b>1. 3G</b> <br />I changed the phone setting from a 4G connection, to 3G. Wow, suddenly much faster. Typical 3G speed. Changed back to 4G, slow again. <br /> <br /><b>2. Vodafone data sim</b> <br />I forked out $30 for a Vodafone data sim, prepaid, 3GB data expires in 30 days. Only get 3G connection at home, good speed. <br />Went elsewhere where got 4G connection, seemed faster. <br /> <br /><b>3. Reset phone</b> <br />Wiped the SD-card and internal memory, and did a factory reset. Plugged in my Virgin data and Amaysim (phone/texting) sims, set things up again -- now 4G fast speed is back! <br /> <br />This is very interesting. There is one thing that I did yesterday, about midday, installed 'ES File Explorer'. I wonder... <br /> <br />I don't want to reinstall ES File Explorer to find out. It does seem too much of a coincidence, as I didn't do anything else to the phone yesterday. <br /> <br />Next thing, I am going to root the phone, using Kingoroot. After that, will give ES File Explorer a miss, might install 'Root Explorer'. <br /> Quirky April 7.0.4 released Linux Quirky "April series" 7.0.4 is released. This is another bug-fix release, with incremental improvements since 7.0. <br /> <br />The full announcement and release notes for 7.0 are here: <br /><a href=></a> <br /> <br />Quirky 7.0.3 was released on April 9, see blog announcement: <br /><a href=></a> <br /> <br />Download 7.0.4 from here: <br /><b>amd64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />Faster mirror site: <br /><b>amd64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />Installation README: <br /><b>amd64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />Upgrade README: <br /><a href=></a> <br /> <br />Release notes for 7.0.4, relative to 7.0.3: <br /><i>1. 'ghostview' script to display .ps files. <br />2. New 'gsl' package. <br />3. Hardinfo (hardware information) version upgrade. <br />4. Quirky Installer improved (see /usr/local/install_quirky). <br />5. Package Manager improvements. <br />6. 'popup' utility has new features. <br />7. QuickSetup now has instant language translation. <br />8. Bugfix for Isomaster (ISO editor).</i> <br /> <br /><b>QuickSetup</b> <br />One interesting thing you will notice at first bootup when QuickSetup runs (also can be run from the Setup menu). Language flags, that offer immediate translation of the QuickSetup, and 'welcome1stboot', windows. <br />Appropriate and files are now built-in to Quirky -- so if you want this new feature for your language, use MoManager to create them (see Utility menu) and send to me. <br />The script /usr/sbin/quicksetup also has translations for some things, such as tooltips, built-in to the script. Some of which I used Google-translate to create, so you are welcome to revise the translations. <br /> <br /><b>Planned for future</b> <br />I was intending to add UEFI booting for the live-CD, however that is deferred, probably to 7.0.5. <br /> <br /><b>Feedback</b> <br />Feedback is welcome here: <br /><a href=></a> <br /> de, it langpacks Linux <b>German</b> <br />Forum member L18L has sent me a new German (de) langpack. I have uploaded it here (4.2MB): <br /><a href=></a> <br /> <br />Notes for L18L: <br />I fixed /root/spot. Directory and subdirectories need to have ownership spot:spot. <br />Why are there .pot files in /usr/sbin? That is the wrong place for them. <br /> <br /><b>Italian</b> <br />I downloaded the latest Italian (it) langpack, created by forum member xanad, see here: <br /><a href=></a> <br /> <br />However, I cannot use it. The problem is, it contains binary executables. I noticed 'gmeasures' for example, that is internationalised in Quirky 7.0.3. <br />If a binary executable is not yet internationalised in Quirky, then it should be left out of the langpack. <br /> <br />I intended for langpacks to reside in a "noarch" repository, and to work with any CPU. <br />Note, I also intended that one langpack can work for all variants of Puppy/Quirky -- this is doable, but does need a bit more development of MoManager to make it easier. <br /> <br />So, I am staying with the older Italian langpack created by vicmz, see here: <br /><a href=></a> <br /> Mlais M52 first impressions Light I bought two cheap smartphones from China. I have both of them in front of me, and will do a mini comparison. For now, focussing on the <b>Mlais M52</b>, what are my first impressions? <br /><img src=} /> <br />I reported on ordering the M52 here: <br /><a href=></a> <br /> <br />OK, so it has a very fast octa-core 64-bit CPU, does 3G and 4G (with all the frequencies that I need in Australia), 5.5 inch screen, removable battery, and most importantly for me, dual-sim slots plus a sd-card slot. <br /> <br /><b>False advertising</b> <br />There are a couple of negative comments that I have to get out of the way. Firstly, Mlais have advertised the cameras as 13 megapixel at back, 8 at front. However, it has been reported that they are only 8 and 5. <br />Another thing is the battery -- this is advertised as 3200mah. However, based upon its weight (47g) and volume, I would say it is about 2600mah. <br /> <br />Other reviewers have commented on poor camera performance and likely over-stated battery capacity. OK, battery capacities are overstated by every manufacturer anyway, but Mlais are taking lying to a new level. <br /> <br />Most unfortunate, the company is lying, to make the product look better than it is. If I had known this beforehand, I would not have purchased an Mlais, as a matter of principle. <br /> <br />But, I do have one, so what do I think of the phone? Actually, it is a very nice phone, very well made. <br /> <br /><b>Dual-sim</b> <br />This is what I wanted. Here in Australia, I get the best deal with two sims, one for phone calls and texting, the other for data. I already reported on a data sim with 12GB per month, AU$40 (US$29), no excess fees, from Virgin Mobile: <br /><a href=></a> <br /> <br />You just cannot get that much data from a phone/text/data plan, unless you pay a lot lot more. <br /> <br />For phone/text, there are excellent cheap pay-as-you-go prepaid plans. I looked for one with long expiry. I settled on Amaysim "as you go" prepaid plan. I have this thing, reluctant to give out my credit card details over the Internet -- well, Amaysim have retail outlets all over the place, and I just paid cash, $2 for a sim, $10 credit, and I am good for 90 days. Calls are 12c per minute, texts 12c each. <br /> <br />Note, I don't talk for long on the phone, so the pay-per-minute is ok for me. If you are a chatterbox, Optus have a prepaid pay-as-you-go sim that has 180 day expiry, $1 fee per-day for a calls or text, and if the calls go over 30 minutes it becomes $1.50 for unlimited calls. if you don't make any calls/texts in the day, no charge. <br /> <br />I use the data-sim as my only Internet access, both on-the-go and at home. At home, I turn on tethering, also known as wi-fi hot-spot, and access the Internet from my laptop. <br /> <br />It works well, I have not encountered any problem with the two sims, no clashes. <br /> <br /><b>Weight, size</b> <br />This is weird. The other phone I purchased is a <b>Elephone P6000</b>, with 5 inch screen. A smaller phone, lighter than the Mlais, yet in my hand it feels heavier. <br />The Malis M52 weighs 172g (with battery), the Elephone weighs 167g. Without batteries, they are 125g and 117g. <br /> <br />Weird, the feeling of the Elephone is that it is heavier. It is slightly thicker, but only about 1mm. Smaller dimensions. Not only does the Mlais feel lighter, it feels better in my hand, despite being bigger -- maybe because it is slightly thinner and the back slightly more curved. <br /> <br /><b>Screen</b> <br />They are both 720p screens, and I have to say, this is enough. The 1440p screens on premium phones these days is just ridiculous. I am hard-pressed to see any pixelation on these screens, 720p looks good. OK, I might be persuaded to go up to 1080p to banish pixelation totally if squinting up close to the screen, but beyond that is just an unnecessary drain on the battery, as well as dragging down performance. <br /> <br />The slightly bigger screen is nicer, so the Mlais wins there. Also, the screen is brighter and has higher contrast than the Elephone -- seeing them side-by-side, the difference is quite striking. Playing with brightness levels does not help, the Elephone is inferior. <br />With the Mlais, whites are whiter, blacks are blacker, colours are richer. <br /> <br />Both phones have wider bezels than I expect of a modern phone. The Mlais excessively so. We already have a bigger screen, and the wide bezels make for a much bigger phone than I would like. However, as already stated, the thinness, 8.9mm and curved back make it a nice fit in my hand. <br /> <br /><b>Android</b> <br />They both have pretty much stock Android, the Mlais has 4.4.4, the Elephone has 5.0 (Lollipop). Both have external capacitive buttons on the "chin", which I very much prefer, however, I am not accustomed to the change in functionality of those buttons with Lollipop. <br /> <br />Mlais have released Lollipop, which I may upgrade to sometime. However online reports are don't do it, as it is buggy. So, I will wait. Android 4.4.4 on the Mlais is a 32-bit operating system, so an upgrade to Lolliop will bring true 64-bit performance -- yet, the current OS is very fast. <br /> <br />Elephone seem to be taking the lead here, with a Windows utility for flashing various flavours of Android onto their phones. This ease of flashing is something that I am interested in. <br /> <br /><b>Summary</b> <br />I will report some more, but for now, I can draw some conclusions. Neither of these phones is ideal for me, but I have to remember that they are cheap. <br />The slightly smaller phone is easier to carry in a pants pocket, though weights are similar. But, it is the screen that decides it for me. The brighter and higher-contrast screen of the Mlais is so much nicer to look at. <br /> <br />So, despite my misgivings about their false advertising, I like the Mlais and for now this is the phone that I am carrying around. For now, anyway. If another phone comes along with same specs but smaller bezels and hopefully lighter weight, oh and a better camera, I will be tempted. <br /> <br />I should add a little post-note. I based my decision to buy the Mlais on a glowing review at Although the reviewer did not expose the false claim of 13mp, the reviewer did identify that camera performance is poor. The reviewer also raised doubt about the battery capacity. See their review: <br /><a href=></a> <br /> Launch app in another language Linux Forum member L18L is one of our translation experts, and has made many great contributions, such as improving MoManager (translation GUI, see Utility menu) and creation and maintaining of the German (de) language pack. <br /> <br />L18L has create a PET for opening any application in a specific language: <br /><a href=></a> <br /> <br />I have taken the script 'launch_app_in_another_LANGUAGE' out of it and put it into woofQ, in usr/sbin. Also the two images that the script needs. <br />Also put usr/share/i18n/lang_names into woofQ. <br />But left out the locale files that are in the PET. <br /> <br />There is some more stuff to do, see L18L's interesting posts here: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> Inkscape 0.91 for April64 Linux I have compiled Inkscape 0.91 for the amd64 (x86_64) build of Quirky April. No extra dependencies required, this will work in April64 7.0.3, though the 'devx' PET package is recommended as it has python, needed for many of the Inkscape plugins. <br /> <br />Download (16.7MB): <br /><a href=></a> <br /> <br />Note, if you don't want to install the 'devx' PET, which is very big, it should be sufficient to install the 'python' package only -- which you can find in the "t2-april" repository in the Package Manager. <br /> <br />I intend to compile for the i686 April soon. <br /> <br />Note, compiling Inkscape required updating of gtkmm, which is required to compile only. This will be in the 'devx' PET of 7.0.4. <br /> <br />Ongoing discussion of all things Quirky is here: <br /><a href=></a> <br /> woof-CE patch generator Linux woof-CE is the community-maintained Woof Puppy-builder, forked from my Woof2 after I retired from Puppy development. Some woof-CE links can be found here: <br /><a href=></a> <br /> <br />Forum member mavrothal is one of the main guys supporting woof-CE, and has created something interesting, a "patch generator": <br /><a href=></a> <br /> <br />Mavrothal is concerned that a lot of Puppy developers are going full steam building their puplets, but not feeding fixes and improvements back into the woof-CE git. <br />Developers should consider this new tool as an aid to help with providing that feedback. <br /> Quirky Installer improved Linux Lots of bug fixes and improvements for the new Quirky Installer. <br /> <br />Download the appropriate one for your operating system: <br /> <br /><b>x86_64</b> <br /><a href=></a> <br /> <br /><b>i686</b> <br /><a href=></a> <br /> <br />The Installer is a Linux application, intended to work on a wide range of recent distributions. I have done some testing on Fatdog64, worked OK. <br /> <br />After downloading, you will need to set the file permissions to "executable" -- in ROX-Filer, you can do this in the right-click menu. Or, in a terminal, use chmod: <br /> <br /><i># chmod 755 installquirky.amd64</i> <br /> <br />You can click on it to run it, but best to run it in a terminal, so as to see any error messages (as it is still a work-in-progress and may have bugs, or incompatibilities with a particular distro): <br /> <br /><i># ./installquirky.amd64</i> <br /> Mlais M52 smartphone Light I posted recently about a data sim with 12GB per month for only AU$40 per month (about US$32), no contract, no extra surprise charges: <br /><a href=></a> <br /> <br />In that post, I stated that I want a 4G phone, so I have now ordered one. Dual-sim, plus sd-card. It is model M52, made by Mlais, a Chinese company: <br /><a href=></a> <br /><img src= /> <br />It is a bargain-basement price, with a very fast 64-bit processor. Here is a review: <br /><a href=></a> <br /> <br />I ordered it from, for an all-up price of AU$224, even though I could have got it a tad cheaper elsewhere. The "aud" prefix on the URL has expedited courier delivery to Australia, quite fast: <br /><a href=></a> <br /> <br />I specifically wanted dual-sim plus sd-card. I have a low-cost long-term prepaid phone/text sim, plus my new 12GB data sim -- this combination is incredible. It is suitable as my only Internet account, I run the phone as a wifi hot-spot at home. <br /> <br />The M52 does have some weaknesses, apparently the battery life is not so good (but it is removable, and I have ordered a spare), but the cause of that is not yet determined. The camera is so-so. <br /> <br />There are some ideas I want to work on, and plan to buy another phone soon. There is an Elephone model that has some features that I want to experiment with. <br /> Quirky 7.0.3 released Linux Another one in the Quirky "April" series. This is a bug-fix release, plus an experimental new GUI installer. <br /> <br />Read about the new Quirky Installer: <br /><a href=></a> <br /> <br />Get it from here: <br /><a href=></a> <br /> <br />Brief release notes, relative to 7.0.2: <br /><i>1. April64 build has kernel 3.19.2, with EFI support. <br />2. probepart, probedisk utilities have EFI fix. <br />3. openssl security upgrade. <br />4. Frugal/live-CD save-session now option ask at shutdown. <br />5. xclip, Gparted, popup, dmidecode upgraded. <br />6. Fixed missing xsane executable. <br />7. New apps Pup-SysInfo (replace Hardinfo), Prun. <br />8. Pschedule fix. <br />9. installquirky new GUI installer.</i> <br /> <br />Feedback is welcome here: <br /><a href=></a> <br /> <br /> Low cost 3G/4G data General I reported recently how rapidly I am using up my Vodafone prepaid 3G: <br /><a href=></a> <br /> <br />An update on that. The latest purchase of AU$125 (about US$100) for 15GB, 365 day expiry, has got almost used up in a month. Well, I have 3GB left. <br /> <br />That is so expensive. It really does seem that Vodafone have changed how they meter transfers. <br /> <br />Anyway, I have shopped around, and found this: <br /><a href=></a> <br /> <br />...which I am now using! <br /> <br />AU$40 per month, for 12GB. What I really like about it, apart from that's a lot of GBs for the money, is that there is no surprise extra cost. Above 12GB, it just throttles down to a very low speed. No contract either, paid monthly. Uses the Optus network. <br /> <br />I put the SIM into my 7inch OrientPhone, a 3G phablet that I bought from China awhile back. I configured it as a WiFi "hot spot", works great. <br /> UEFI howto Linux I am working on a new installer for Quirky, with nice GUI. It has help buttons, but there is a need for more detailed explanation of what UEFI is all about. So, I have created an online UEFI tutorial page, that is linked from the Installer. <br /> <br />It is a work-in-progress, but here it is: <br /><a href=></a> <br /> Pschedule fixed Linux Quirky 7.0.2 testers have reported that Pschedule (see System menu) is broken. <br /> <br />The problem is that the 'crond' utility uses /var/spool/cron, which Quirky does not save between reboots. <br />Quirky, like many puppies (though that depends on their PUPMODE), only saves /var/local. <br /> <br />So, I have changed crond to use /var/local, and it all seems to work now. <br /> <br />New PET (7KB): <br /><a href=></a> <br /> LibreOffice Linux I have compiled LibreOffice in April i686 7.0.2. <br /> <br />Here is the PET (109.8MB): <br /><a href=></a> <br /> <br />Next, I will compile for April64. <br /> Linux kernel 3.19.2, EFI-enabled Linux I plan to re-investigate UEFI booting, so I have compiled a kernel with what seem like appropriate EFI-related configuration choices. <br /> <br />Here they are: <br /><pre><code>Bus options (PCI etc.) <br /> [*] Mark VGA/VBE/EFI FB as generic system framebuffer <br />Device drivers <br /> Graphics format <br /> Frame buffer devices <br /> [*] EFI-based framebuffer support <br /> [*] Simple frame buffer support <br />Firmware drivers <br /> EFI support <br /> <*> EFI variable support via sysfs <br />Filesystems <br /> Miscellaneous filesystems <br /> <M> EFI variable filesystem <br />Kernel hacking <br /> [*] Early printk via the EFI frame buffer</code></pre>< <br /> <br />...anyway, we shall see. <br /> <br />The kernel source, with patches and build scripts, is here: <br /><a href=></a> <br />(us#er#na#me: pu#pp#y pa#ss#wo#rd: li#nu#x) <br /> <br />Patched kernel source as a PET: <br /><a href=></a> <br /> <br />...note, I have previously placed these kernel source PETs in the 'pet noarch' repository, however that is not appropriate, as I run "make prepare" before creating the PET, which does some architecture-specific configuration and compiles some binaries. <br />So this one is in the 'pet april' repo. <br /> <br />Linux headers: <br /><a href=></a> <br /> <br />And here is the compiled PET, to be used in woofQ: <br /><a href=></a> <br /> <br />...note, the only third-party drivers are aufs and ndiswrapper, the former is built-in not a module. <br /> <br />Here is the aufs utilities, compiled against the 3.19.2 headers: <br /><a href=></a> <br /> Quirky 7.0.2 released Linux Quirky Linux 7.0 was released on February 26, 2015. Please read the announcement here: <br /><a href=></a> <br /> <br />Quirky 7.0.1 is a bug-fix release, just over one week after 7.0. See announcement here: <br /><a href=></a> <br /> <br />Well, we have continued to find, and fix, bugs, but 7.0.2 is more than that, with some improvements and upgraded applications. <br /> <br />Summarizing the changes of 7.0.2, from 7.0.1: <br /><i>1. Frugal install now faster bootup, faster saves. <br />2. SeaMonkey now version 2.33, significant bug-fixes. <br />3. Package upgrades: nss 3.17.4, sqlite <br />4. Internationalized: gfnrename, gmeasures (and bug-fix) <br />5. pupRadio: fixed preset radio stations. <br />6. GetFlash: fixed Adobe download URL change. <br />7. MoManager (internationalization tool): bug-fixes. <br />8. New semanticUI.ttf font added. <br />9. icu4c: icudt53l.dat data file size increased, fixes SM bug.</i> <br /> <br />It is strongly recommended to read the announcement for Quirky 7.0, as it contains a link to install instructions. Or, here is the direct link to the install instructions: <br /><a href=></a> <br /> <br />...the difference now, of course, is that we are up to version 7.0.2. So, to download 7.0.2, go here: <br /><b>x86_64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />There are faster mirrors, for example nluug in Europe: <br /><b>x86_64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />If you already have 7.0 installed, then an upgrade to 7.0.2 is available as a "Service Pack", a small PET package. <br />Read an explanation of Service Packs here: <br /><a href=></a> <br /> <br /><b>Frugal installation</b> <br />Puppy and Quirky users will know what a "frugal" installation is. For the uninitiated, it is a method whereby Quirky is installed into a folder in any partition. Whatever that partition is used for doesn't matter, that remains undisturbed. The partition can have any filesystem, Linux or DOS/Windows. <br /> <br />Anyway, Quirky is intended for conventional "full" installations, into a partition or entire drive, however, now a frugal install is supported, with some limitations. <br /> <br />Booting from the live-CD, you will see a "install" icon in middle of the screen, which will offer to do a frugal install. <br />Note, it is possible to do a frugal install by opening up the .iso file (and not have to burn and boot the live-CD), however there are some issues, and I will post instructions to this blog soon. <br /> <br />One important point: the live-CD and frugal install require a PC with at least 2GB RAM (though I have feedback that 1.5GB works). <br /> <br /><b>Service Pack</b> <br />If you already have 7.0 or 7.0.1 installed, as full installations, the Service Pack is a small download to upgrade to 7.0.2, as introduced above. <br /> <br />Note, however, that the Service Pack does not work for live-CD and frugal installations, not properly anyway. <br /> <br /><b>What's next</b> <br />Some more tweaks to the live-CD and frugal install. <br /> <br />The 'installquirky' script to be greatly expanded, GUI installs to drive or partition (it currently only has frugal). <br /> <br />For "win8" PCs, Quirky currently requires that "legacy boot" be enabled, which has limitations with some PCs. <br /> <br />It seems that some PCs do not like mixed legacy-boot and UEFI-boot, some do. <br /> <br />I did investigate UEFI-booting before, but put it on hold. I now intend to resurrect that, and hopefully the next release of Quirky will support UEFI-booting on win8 PCs. <br /> <br />In short, this will make it easier to dual-boot Windows and Quirky, and make it easier to install Quirky into a hard-drive partition. <br /> <br /><b>Forum feedback</b> <br />You are welcome to read other's feedback, and contribute, to the "Quirky 7.0.x" thread in the Puppy Forum, starting at page 16: <br /><a href=></a> <br /> Fonts fixed for SeaMonkey Linux For a very very long time, using Quirky and my earlier puppies, there has been a problem with some characters not rendering on some web sites. <br /> <br />These characters only display as small rectangles, with their hex code inside, for example: <br /> <br /><i>E629, E62A, E62C, E631</i> <br /> <br />This site is an example: <br /><a href=></a> <br /> <br />These missing characters seem to be "picture", or "glyph" icons. <br /> <br />There are many sets of glyph TTF font sets, but I found what I wanted here: <br /><a href=></a> <br /> <br />I downloaded 'entypo.ttf', to /usr/share/fonts/default/TTF. <br /> <br />While I was at it, decided to update the DejaVu Sans fonts, got them from here: <br /><a href=></a> <br /> <br />Then inside the 'TTF" folder, ran: <br /> <br /><i># mkfontscale <br /># mkfontdir</i> <br /> <br />Then, in any folder: <br /> <br /><i># fc-cache -f -v</i> <br /> <br />Yes, the Entypo font set has fixed, the Transperth site, but not all. <br />For example, the characters are still missing here: <br /><a href=></a> <br /> <br />, I will experiment some more. <br /> SeaMonkey with Lightning Linux Puppy Forum member 'labbe5' posted this news about LXLE adopting SeaMonkey: <br /><a href=></a> <br /> <br />The article at LXLE is an interesting read: <br /><a href=></a> <br /> <br />The article is amusing in some ways. Puppy has had SM as the main browser for, how many years? Must be about 10 years. <br /> <br />I always saw SM as the best compromise, and held out against pressure from many Puppy-users who wanted Firefox, Opera, or Chrome. <br /> <br />The integrated suite is what makes SM great, and the LXLE article states that they will be bundling Fireftp and Lightning addons. <br /> <br />Now that is interesting. The old Netscape had a calendar module, but it fell by the wayside. In Quirky, and the pups I used to build, I use Osmo personal organizer, which is OK. However, Lightning brings to the table tight integration with SM, and that is what makes it very attractive. <br /> <br />I haven't tried Lightning yet, but presume the LXLE people have, and found it works reliably. <br /> <br />Right now I am compiling SM 2.33. I am planning to release April 7.1 with this SM, and Lightning, removing Osmo. <br /> Saygus V2 Super Phone General I regularly scan the news on what is happening with smartphone development. I have an agenda in the back of my mind, that involves smartphones -- but the right kind of phone has not yet arrived. <br /> <br />I was reading one of the mobile phone news sites today, and something really jumped out at me. Here is the page I was reading: <br /><a href=></a> <br /> <br />OK, this phone has incredible specs, but reading down, this is what jumped out: <br /> <br /><i>Multi-Boot (supports booting from MicroSD card)</i> <br /> <br />There are two SD card slots, that will support the new 200GB cards, so together with the inbuilt 64GB (emmc I think), that is a total of 464GB. <br /> <br />Actually, the huge storage capacity is the second thing that jumped out at me. I have grave reservations about storage in "the cloud", apart from its limited capacity and up/down transfer cost to keep it synced. <br />I want <i>lots</i> of local storage, and this phone gives me that. <br /> <br />No, the first thing that drew my attention was the dual-booting. Plug in an SD card and boot from it. What other phone offers that? <br />This will be great for my "in the back of my head" agenda. <br /> <br />There is some question though when the company will deliver a finished product. Apparently, although the hardware is there, a lot of it isn't working. Even the camera isn't working. <br />They have mentioned delivery in "Q2", but I wonder if that is just a wild guess. <br /> <br />I like the specs of this phone very much, but I will wait awhile until some more progress is reported on the hardware working. <br />Then, seriously considering placing an order. <br /> <br />There are some very interesting possibilities with a phone like this. <br />I have created a forum thread for discussion: <br /><a href=></a> <br /> Today's musings General <b>Vodafone 3G</b> <br />My Internet access is with Vodafone 3G here in Australia. I have a Pocket Wifi, which allows connection of up to 5 computers. <br /> <br />I buy prepaid, usually pay AU$125 for 15GB, 365-day expiry. <br /> <br />The problem is, I went through that 15GB in less than 6 weeks. Which took me by surprise. <br />Previously, it has lasted much longer, and it leaves me wondering if Vodafone have changed the way they are metering transfers. <br /> <br />A few days ago, I bought another $125 worth. Checked usage at the "myvodafone" site, found that in one day, 5th March, I had used 2.18GB! <br /> <br />That was the day I uploaded Quirky 7.0.1. <br />No way I transferred that much! <br /> <br />I didn't watch any videos, no Flash Player, just usual browsing, visit the Puppy Forum, etc. These activities normally log about 10 - 50MB per day. <br />The uploads for Quirky 7.0.1 were about 1.4GB. <br /> <br />Hmmm <br /> <br /><b>Ubuntu Phone</b> <br />Much as I want to support Ubuntu Phone, I have had doubts about the gesture-based UI. <br />Swiping from left-side, right-side, top-side or bottom-side, each does something. So, if you want to touch or swipe something within the window, you have to be careful not to do it too close to one of the sides. <br /> <br />That was my thinking, seemed logical to me, though I haven't had any hands-on with the phones. <br /> <br />But, it turns out, this is exactly the problem, see a recent hands-on report from MWC2015: <br /><a href=></a> <br /> <br />Quoting: <br /><i>Furthermore, dragging your finger too close to either the left- or right-hand edge of the display triggers other features in the OS, which meant I was constantly hunting for "safe" gaps in the UI. When I handed the devices to the staff at Canonical's booth, they also seemed to struggle with the number of gestures that can be activated by mistake.</i> <br /> <br />Perhaps the whole swipe-from-the-side concept is a bad idea. Perhaps just four capacitive buttons at the bottom of the phone (not in the screen), is a superior solution. <br />Which of course is getting back to how Android and others do it. <br /> Adobe Flash Player PET Linux For anyone testing Quirky 7.0.1, note that the GetFlash application, see the "Internet" category in the menu, is broken. <br /> <br />This has happened recently, as Adobe has changed the download URL. I have fixed the 'getflash' script and posted it to the Forum: <br /><a href=></a> <br /> <br />For those running the x86-64 build of Quirky, I have created a PET. Just download this, and click on it to install (6.7MB): <br /><a href=></a> <br /> <br />For the 32-bit Quirky, run the Package Manager, you will find some (older) Flash Player PETs in the 'pet-common' repository. <br /> Quirky 7.0.1 released Linux It is a little over one week since Quirky 7.0 was released. 7.0.1 is a bugfix release. <br /> <br />Please read the blog post for 7.0, for full announcement, release notes, and install instructions: <br /><a href=></a> <br /> <br />You can find 7.0.1 here: <br /><b>x86_64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />There are faster mirrors, for example nluug in Europe: <br /><b>x86_64:</b> <a href=></a> <br /><b>i686:</b> <a href=></a> <br /> <br />If you already have 7.0 installed, then an upgrade to 7.0.1 is available as a "Service Pack", a small PET package. <br />Read an explanation of Service Packs here: <br /><a href=></a> <br /> <br /><b>Summarizing the improvements:</b> <br /><i>1. Support Serbian keyboard and locale. <br />2. More Broadcom b43 firmware. <br />3. Fix for locale changes, fixdesk script. <br />4. Some icons were missing, needed by Pidgin. <br />5. Flsynclient was broken. <br />6. Roaring Penguin PPPOE, some executables were missing. <br />7. Small improvement to live-CD install to frugal. <br />8. The devx PET now has fltk1.</i> <br /> <br /><b>What's next?</b> <br />One thing that is planned for 7.0.2 is improvements to the frugal install. <br />It is expected to boot faster, run in less RAM, and save sessions considerably faster. <br /> <br /><b>Feedback:</b> <br />Please provide any feedback to this Forum thread, page 9: <br /><a href=></a> <br /> Quirky 7.0 final released Linux Quirky 7.0, codenamed "April", has been released. <br /> <br />Please read the full announcement and release notes here: <br /><a href=></a> <br /> <br />Extracting some of the announcement to here: <br /> <br /><i>I created Puppy Linux back in 2003, but there was never a toolchain for compiling Puppy completely from source. Instead, Puppy is built from binary packages of another distro, plus PET packages compiled natively. <br />We did use the T2 system right back at Puppy v2, T2 being a system to compile from source, however it only compiled a big chunk of the packages, not all. We still used manual compiling to create many PET packages. <br /> <br />Until now. Starting in December 2014, I tackled the formidable task of compiling everything in T2, and I had to introduce 105 new packages into T2. It took a couple of months, but I eventually was able to compile every package required for Quirky (my fork of Puppy). <br /> <br />T2 is able to compile for various CPU targets, and the proof of concept was when I compiled for a x86_64 CPU (all previous builds had been for i686). I was able to build a x86_64-based Quirky, and it works the same as the i686 build (after some tweaks). <br /> <br />Great! I decided to jump this new Quirky to 7.0, and gave it the codename "April".</i> <br /> <br />Also, there have been a lot of infrastructure improvements since the last release of Quirky, as well as application upgrades. <br /> <br />Quirky is intended to be installed as a <i>full</i> installation, either to a drive (such as a USB Flash stick), or a hard-drive partition. <br />The smallest download is this file, which is an image that can be installed by means of the supplied scripts. Only (131.8MB): <br /><a href=></a> <br /> <br />Have a look here, and you will see other files to download: <br /><a href=></a> <br /> <br />...this includes a live-CD .iso file, but do read the install guide first, to fully understand the choices: <br /><a href=></a> <br /> <br />The above links are to the x86_64 CPU build, that is, any PC with a 64-bit x86 CPU -- which is just about all PCs manufactured in the last 4-5 years. <br /> <br />There is also an i686 build, which is for 32-bit x86 CPUs. Note, this will also work on x86_64 bit CPUs. The main limitation is a max. of 4GB of RAM, plus is a tad slower. <br />Download from here: <br /><a href=></a> <br /> <br />Quirky, just like Puppy, includes the "kitchen sink" with all builds -- everything you need, in a tiny 132MB download. Have fun! <br /> Wary64 6.99 live-CD Linux In response to interest from Quirky testers, I have built a live-CD of Wary64. <br /> <br />Download from here: <br /><a href=></a> <br /> <br />However, I must emphasize that Quirky is intended for <i>full</i> installations. Live-CD and <i>frugal</i> installations are not as fully functional as with Puppy. <br /> <br />Quirky live-CD and frugal installations consist of two files, 'vmlinuz' and 'initrd.q'. The latter is a cpio archive, with all of Quirky as a file 'q.sfs' inside it. <br /> <br />At bootup, initrd.q and hence q.sfs are loaded entirely into RAM. Quirky runs totally in RAM, which means that you are very restricted in what you can download and install -- though of course, files can be downloaded to a mounted partition -- but any installed packages are going to occupy the RAM. <br /> <br />When you boot the live-CD, there are two icons on the desktop, "install" and "save". The former only offers a frugal install for now. <br />The latter offers to save the session back to CD/DVD, however this is not multisession, an entirely new blank CD/DVD is required, or a -RW type can be erased then saved to. <br /> <br />Currently this save operation, which involves rebuilding 'initrd.q', is done in RAM, meaning that heaps of RAM is needed. My laptop has 4GB, I don't know how little will work. Just booting the live-CD and never saving will need less, but still a lot, maybe 2GB. <br /> <br />A frugal install works the same. initrd.q gets loaded into RAM and Quirky runs totally in RAM. There is a "save" icon on the desktop, and 'initrd.q' gets rebuilt in RAM then written to the drive. <br />So again, heaps of RAM needed. <br /> <br />This is definitely not like Puppy! There is no "save file", no automatic saving, no save at shutdown. <br /> <br />I can reduce RAM usage in the future. Zram may not be the most efficient after all, in which case there is another way I can do it. <br />rebuilding 'initrd.q' could be done in a partition -- the "save" script can offer to mount and use a partition for this purpose. <br /> <br />The two new scripts are /usr/sbin/installquirky and /usr/sbin/savesession. <br /> <br />I do see some usage-scenarios where people might like this live-CD. It doesn't look at the hard drives at all -- in fact, the Childproofing app (in the Filesystem menu) can be used to completely hide HD partitions if required. <br />Settings can be saved to CD/DVD, then used for web browsing without saving anything, no history. <br /> <br />I do intend to expand the "install" script to also do <i>full</i> installations, to drive or partition. <br /> Live-CD, frugal Quirky coming Linux With Quirky, I have favoured providing an image file that can be written to Flash drive or HD partition. <br /> <br />I have not been interested in a live-CD, nor the famous Puppy "frugal" install. <br /> <br />However, that is about to change. Today I built a Wary64 live-CD, designed to be more RAM-efficient than my previous effort. It works great. <br /> <br />I also did a frugal install to HD, that works great too. <br /> <br />I can't just upload it right now, as I have to write "install" and "save" scripts. These will be icons on the desktop in case of the live-CD. <br /> <br />For the live-CD, "save" is intended to save the session to the CD, either -RW, or if only -R then use a new CD -- I am not going to support multisession, as it doesn't work on laptop optical drives. Nor UDF, as it is not bootable. <br /> <br />I'll work on the scripts tonight, but have other things to do tomorrow (dentist, then my wildlife park volunteer job), so will continue working on the script in the evening. <br />So maybe Saturday upload. <br /> udftools 1.0.0b5 Linux The UDF filesystem allows mounting of CD/DVD media read-write. Even write-once media, such as a CD-R, can be rewritten -- that is, if a file is to be changed, the new file gets written but the previous version remains, just becomes inaccessible. <br /> <br />I did briefly look at UDF in 2013, but only as far as mounting: <br /><a href=></a> <br /> <br />Fortunately, Puppy Forum member 'amigo' posted a comment, with a link to here: <br /><a href=></a> <br /> <br />amigo has collected lots of patches, which I have put into T2, except for '007-udftools-last-cvs.patch' as it failed. <br />There was one patch already in T2, a fix for gcc43. <br /> <br />I have compiled it for Wary64 (60K): <br /><a href=></a> <br /> <br />Now I have to learn how to use it... <br /> Wary64 6.98 (7.0 RC) Linux I have uploaded Wary64 6.98, or "7.0 Release Candidate". <br /> <br />Wary64 has the same code-base as April64. The only difference is smaller size, which is mostly achieved by providing a small subset of the Xorg drivers -- in particular, there is no llvm, mesa, opengl. <br /> <br />I also left out Qt4, which is required for the VLC media player. However, I discovered that the Xine media player, which only requires Xlib (not GTK or Qt libs), plays all of my test videos. <br />Xine is small, and works well with external ffmpeg libs. <br /> <br />Anyway, get Wary64 from here: <br /><a href=></a> <br /> <br /> you can see, I did not manage to get down to 100MB, reaching 110.8MB! <br /> <br />A couple of packages not there are samba and pidgin. Instead of the latter, SeaMonkey provides IRC chat. <br /> <br />I also took out some less-needed kernel modules. This is what we used to call the "zdrv" (8MB): <br /><a href=></a> <br /> <br />Here is the "devx" PET (244MB): <br /><a href=></a> <br /> <br />These zdrv and devx PETs should also be available via the Package Manager -- just type "devx" and "linux_modules_extra" in the search box. <br /> <br />No live-CD yet. I intend to work on that next. <br /> Wary64 coming soon Linux Just to let you know what I'm up to... <br /> <br />"Wary64" is coming soon. Like the old i486 Wary Puppy 5.x, this new x86_64 Wary aims for very small size. <br />My aim is 100MB, and expect to get close. <br /> <br />Right now, I am doing a complete recompile in T2, as I had changed a couple of package versions. <br />That should complete tonight, so perhaps there will be an upload of Wary64 tomorrow. <br /> <br />Other news is that I now have a small media player that plays all of my test videos. It only needs Xlib, so Wary64 will not require the large Qt4 package (which VLC needs). <br /> <br />It is great fun tweaking Wary64 to try and reach the 100MB goal! <br /> <br />Note, Wary64 has the same code-base as April64, so anything compiled in the former will work in the latter. Raspberry Pi 2 General Fascinating, a new Raspberry Pi with quad-core ARMv7 SoC: <br /><a href=></a> <br /> <br />Snappy Ubuntu Core is available for the Pi 2: <br /><a href=></a> <br /> <br />And Windows 10 is coming: <br /><a href=></a> <br /> Anyone still on dial-up? Linux "Dial-up Internet" access refers to use of an analog modem connected to a telephone line, for the purpose of establishing an Internet connection. <br />This is not to be confused with digital broadband connection over a telephone line. The former is an older system, with very low data transfer speeds. <br /> <br />My curiosity was aroused recently when someone on the Puppy Forum commented that they are still using analog dial-up Internet. <br /> <br />In Australia, I think it has just about died. However, in the US there are still users. Quoting from <a href=></a>: <br /> <br /><i>A 2008 Pew Internet and American Life Project study states that only 10 percent of US adults still used dial-up Internet access. Reasons for retaining dial-up access include lack of infrastructure and high broadband prices. According to the United States Federal Communications Commission (FCC), 6% used dial-up in 2010. By 2013, that number had fallen to 3%.</i> <br /> <br />I was wondering whether Puppy should still be supporting dial-up. Our main dial-up-supporting-pup is Wary, which has drivers for a large range of analog "software" modems. <br /> <br />But, even our latest pups still support analog modem dial-up, just not the same range of drivers. Serial and USB hardware modems are supported, and some software modem drivers are still in the kernel, such as the "mwave" driver. <br /> <br />A reason that I am thinking about this again, is I am building "Wary64" (Quirky variant, not Puppy), very lean-and-mean, that is, designed to be as small as possible, but using a recent kernel. <br /> <br />To compile some of those old modem drivers, an older kernel is required, I think 3.2.x. <br /> <br />I could do a compile in T2 with that old kernel, but I really don't see the point anymore. Those 3%, now less, can use a hardware modem if they really need to stay stuck on analog dial-up. <br /> <br />If you want to contribute a thought on this, please do it at the April64 thread, coz I'm monitoring that: <br /><a href=></a> <br /> T2: amd64 build fixes Linux Previously, these packages did not build in T2 for x86_64 (amd64) target: <br /> <br /><i>gif2lss <br />gwhere <br />915resolution <br />xresprobe</i> <br /> <br />These are now fixed. <br /> <br />Latest T2 has been uploaded, commit '20150201084313'. <br /> Quirky April64 6.96 Linux I did a complete recompile in T2, now have built another April64. Version 6.96 is not yet to be treated as release quality, let's say it is a "beta" release. <br /> <br />Apart from various bug fixes, I have recompiled SeaMonkey in April64, not in T2, as I am able to do it that way to fix a bug. <br />(SM bugs are discussed in the forum thread, see link below) <br /> <br />I also promised a surprise. I compiled <b>LibreOffice</b> and it is included in this April64. Still have Abiword and Gnumeric, so it is more bloated than it needs to be. <br /> <br />I compiled LibreOffice natively, in April64, not in T2, as this is my first attempt at compiling this beastie. <br /> <br />In future, I am going to attempt to reduce it's size a bit more, and also get it to compile in T2. <br /> <br />Feedback on LibreOffice is welcome. I am new to using it, so don't know all of it's ins-and-outs. But, it does seem basically working. <br />My impression of Writer is, very nice indeed. <br /> <br />OK, get April64 6.96 from here: <br /><a href=></a> <br /> <br />Forum feedback can be provided to this thread, from page 15: <br /><a href=></a> <br /> <br /><b>Extra notes</b> <br />If you have a 3G USB3 modem, you will need to uncomment the "storage delay" variable in /etc/usb_modeswitch.conf. <br />This has also been discussed in the forum. <br /> <br />LibreOffice Base is there, but not in the menu. It doesn't seem to have a supporting database engine. I haven't got a clue how to use it. <br /> <br /> f.s. check fixed Linux With April64, filesystem check and snapshot recovery were not working. <br /> <br />If there is an abnormal shutdown, a f.s. check is done automatically at next bootup. Or, it can be explicitly chosen by "qfix=fsck" at the boot prompt. <br /> <br />Quirky creates a ramdisk and populates it with a complete Linux environment and does a "switch root" into it, then unmounts and does a f.s. check of the Quirky partition. <br /> <br />It wasn't working because of the slightly different directory layout, with /lib64 and /usr/lib64. <br />I fixed script /sbin/init (rootfs-skeleton/sbin/initNEW in woofQ). <br /> <br />I haven't tried a snapshot recovery, but did a f.s. check, it now works. <br /> <br /><b>Surprise coming</b> <br />The f.s.-check fix will be in the next build of April64. <br />But, it will be a couple of days away, as I am planning a big surprise. I am not quite sure about it yet, but it is looking good, and this may be an extremely interesting April64 indeed. <br /> <br />I need to recompile everything in T2, and I will have to start that running tomorrow evening (it is Sunday evening here right now). I "work" during the day, every Monday. <br />Then allow at least 24 hours for T2 to do its thing. <br /> <br />So, hopefully I will have something to show by Wednesday! <br /> wvdial fixed for April Linux wvdial, the modem dialler cli utility, for which we have a GUI frontend named PupDial, used for ye olde analog modem dialup and 3G modem dialup, crashes in April, both the x86_64 and i686 builds. <br /> <br />This is the error message: <br /><pre><code>wvdial: utils/ static void WvTaskMan::get_stack(WvTask&, size_t): Assertion `task.magic_number == 0x123678' failed.</code></pre>< <br /> <br />The bug, with solution is found here: <br /><a href=></a> <br /><a href=></a> <br /> <br />I have modified package/develop/wvstreams/wvstreams.conf in T2, compiled and tested in April64, wvdial now works. <br /> <br />Using my Optus 3G USB modem right now. <br /> <br />Interesting comments by one of the original authors of wvdial (scroll down a bit): <br /><a href=></a> <br /> April 6.94, i686 CPU Linux I have completed an i686 build in T2, the "April series" of Quirky Linux. This is a "bigX" build, with llvm, mesa and the full gamut of xorg drivers. <br /> <br />If anyone is interested, it is here: <br /><a href=></a> <br /> <br />I have updated woofQ, the build system for Quirky. Go here for an introduction and download instructions: <br /><a href=></a> <br /> <br />...however, I have not yet uploaded the binary packages that were compiled in T2. I had better do that, so anyone who wants to build their own "April" may do so. <br /> <br />Well, it is possible to download T2 and go through the entire process of compiling everything from source, which will generate the binary packages that woofQ can use. Read about T2 here: <br /><a href=></a> <br /> <br />Now using the 3.17.8 kernel: <br /><a href=></a> <br />us#er#na#me: pu#pp#y pa#ss#wo#rd: li#nu#x <br /> <br />Don't have any particular forum thread for feedback, if you want to post feedback, use the "April64" thread: <br /><a href=></a> <br /> <br />...the i686 and x86_64 Aprils are just about identical. Same packages, same everything. <br />The only difference that I can think of right now, is that I have wvdial 1.41 in April64, as wvdial 1.6x crashes (yet I think, it has to be confirmed, 1.6x works in i686 April). <br /> <br />Oh yes, there was a report of Hardinfo crashing in April64, OK in i686. That may be fixed (by rolling back to an earlier version), not yet verified. <br /> <br />Note also, I have not entirely up-to-date with reading the feedback in the April64 thread -- there are some suggestions that still need to be investigated. <br /> File Open mime fixed Linux In April64, File -> Open dialog window for any GTK application, only a generic document icon is displayed for each entry, regardless whether it is a folder, image file, or whatever. <br /> <br />I don't know why that has gone wrong. Anyway, I created some symlinks in /usr/share/icons/hicolor/16x16/mimetypes, all symlinks to /usr/local/lib/X11/mini-icons. <br /> <br />It is necessary to run 'update-mime-database' to recognise these. <br /> <br />These symlinks are now in woofQ, rootfs-skeleton/usr/share/icons/hicolor/16x16/mimetypes/ <br /> Quirky April64 6.92 Linux I have done another build of April for a x86_64 CPU. This is a "bigX" build, with 'llvm', 'mesa' and heaps of xorg drivers. <br />Also included is 'qt' and 'vlc' media player. <br /> <br />Download link: <br /><a href=></a> <br /> <br />See the install instructions at that link. <br /> woofQ hosted by Bones Linux woofQ is my Quirky builder system, a fork of Woof. This is specifically for building Quirky, not a Puppy. <br /> <br />Previously, I had just been making tarballs of woofQ and uploading them, however, I have now hosted woofQ with Bones. <br /> <br />Just as I did for T2, see my blog announcement: <br /><a href=></a> <br /> <br />Bones is introduced here: <br /><a href=></a> <br /> <br />To download woofQ, do exactly as explained for T2, just a slight difference. Setup the top-level folder exactly the same as for T2: <br /> <br /><i>> mkdir projects <br />> cd projects <br />> mkdir woof-project <br />> cd woof-project <br />> bones setup</i> <br /> <br />'bones setup' brings up a dialog window, choose a username for yourself, and enter this download URL: <br /> <br /><i></i> <br /> <br />T2 and woofQ are a team. You can compile all source packages in T2, then over in woofQ you run the '0pre' script to import the binary packages from T2. <br /> <br />Then, in woofQ, you run the scripts in sequence, '0setup', '1download', '2createpackages' and '3builddistro'. <br />'0setup' will ask about downloading database files, which should be declined, and '1download' can be skipped. <br /> <br />Get latest Bones from here: <br /><a href=></a> <br /> Printing now working in April64 Linux Printing is broken in my alpha-quality Quirky April64 6.89. See recent posts for announcement and background on this release. <br /> <br />I found that cups-filters is needed. See homepage: <br /><a href=></a> <br /> <br />That page explains that from cups 1.6, many filters and drivers were removed from the cups package and maintained as a separate package, cups-filters. <br /> <br />OK, but cups-filters also requires 'qpdf' package. it also seems that the 'ijs' package is required. <br /> <br />qpdf home: <br /><a href=></a> <br /> <br />I compiled those three, now printing works. <br /> <br />These will be compiled in T2, and will be in my next build of April64. <br /> T2 project hosted by Bones Linux As I have mentioned many times recently, Quirky April has been compiled totally from source, using T2. I added an extra 105 new packages to T2. Here is the T2 homepage: <br /><a href=></a> <br /> <br />My local T2 has many differences, for the specific purpose of compiling packages to be used to build a puplet (Puppy Linux or derivative). <br />I will be attempting syncing with the official T2 sometimes. <br /> <br />I did think about merging my local T2 into WoofQ, my Quirky-builder (Puppy Linux derivative), however, have decided to keep it separate. <br /> <br />I have now made my local T2 available online, for anyone to download. I could have just uploaded a tarball. Certainly I did not want to get back into using Fossil or any of the other major version control systems (git, svn, etc.). <br /> <br /><b>Bones</b> <br />Instead, I have resurrected my old Bones project. This is an ultra-simple version control system. Well, more of just a way to efficiently archive old versions. I have made some improvements to Bones, and updated the web page: <br /><a href=></a> <br /><img src= /> <br /> <br />The Bones web page uses T2 as the example of usage, so just follow the instructions on that page to download T2. <br /> <br />By using Bones, it should be easy to sync with my latest upload of T2, without messing up any customizations that the user might do to their local T2 -- such as adding support for extra packages. <br /> <br />Even if you have Bones in your Puppy, please get my latest version (0.3) from here (11KB): <br /><a href=></a> <br /> <br />Of course, the usual disclaimer of all responsibility, should T2 or Bones do anything unexpected. As with all my products, you use them with this understanding! <br /> Mascot for Quirky April Linux The latest builds of Quirky, for both i686 and x86_64 CPUs, are codenamed "April". When I get to release-quality, the version number will be 7.0. <br /> <br />I chose the name April, as she is one of the little dogs owned by my daughter and partner, and has so far not starred as a mascot for a puplet. <br />They have two small dogs, Vincent and April. Vincent has been the mascot for many puplets, with some lovely artwork created by our in-house artists. For example: <br /><img src= /> <br /> <br />April is a she, very small, about 8 years of age, slim, zippy. Unknown pedigree (OK, a mongrel). Here she is: <br /><img src= /> <br /> Killing that persistent SM popup Linux Back in late 2013 and early 2014, when I was last working intensely on Quirky, testers reported the "persistent popup" problem with SeaMonkey. <br /> <br />When Quirky is installed to a USB stick, the first time that SeaMonkey is started, it is slow, as it has to create a heap of cache files in /root/.mozilla/seamonkey, and doing this via the serial USB interface causes a significant startup delay. <br /> <br />To let users know that SM is loading and the window will soon appear, I created a first-time-only popup window, that just has the information that SM is loading for the first time and is a bit slow because it is creating cache files. <br /> <br />Fine, except that it is only supposed to run once, never again, but some testers reported that it persisted, popping up everytime they started SM. <br /> <br />I was just about pulling my hair out, because what they were reporting defied all logic. It only popped up once for me, and for many other testers. <br /> <br />Anyway, forward to now, and long-time Puppy enthusiast 'pakt' has suggested that the cause is because some testers are clicking the box to run SM as user 'spot' (in QuickSetup). <br /> <br />The penny dropped. Yep, that's it. That thought never occurred to me, as I never run SM as spot. Now, I think that I have implemented a fix. <br /> <br /><b>Some technical details:</b> <br />The two files that I have modified are in woofQ, support/setup-spot and rootfs-complete/usr/bin/seamonkeyQNEW, that become /usr/bin/setup-spot and /usr/bin/seamonkey in a built puplet. <br /> <br />When a user chooses to run SM as spot, setup-spot renames /usr/bin/seamonkey as seamonkey.bin, and creates a new script named seamonkey. <br />The script seamonkey does some housekeeping for running as spot, then as user spot calls seamonkey.bin. The latter creates the popup. <br /> <br />When running as 'root', /usr/bin/seamonkey (or seamonkey.bin for spot) launches a small script as a separate process, that puts up the popup, then waits for SM to load, then changes /usr/bin/seamonkey to a symlink to /usr/lib/seamonkey/seamonkey. <br /> <br />Whoever, when launched as user 'spot', that separate process is unable to perform the symlink operation. In fact, it must not. <br />What it must do is change /usr/bin/seamonkey.bin to a symlink to /usr/lib/seamonkey/seamonkey. <br />Which I am now doing in script /usr/bin/seamonkey (while still running as root). <br /> <br />When SM is run as spot, the script /usr/bin/seamonkey will remain in place. if the user ever decides to change SM to run as root, /usr/bin/seamonkey is deleted, and /usr/bin/seamonkey.bin is renamed to /usr/bin/seamonkey. <br /> <br />That may all seem a bit convoluted, but the steps are all quite logical. I had to think through it carefully though, as haven't worked on this since early 2014. <br /> <br />I also fixed another problem. When run SM as spot, the popup stays up for 40 seconds, beyond when SM has loaded. Now it goes away as soon as SM window appears. <br /> Xlock gettexted Linux A few days ago, when I was testing April64, the amd64 build of Quirky April, I clicked on the "lock" icon top-right of screen ... and nothing happened. <br /> <br />Well, I fixed it, but I was surprised to discover that the script /usr/local/apps/Xlock/AppRun is internationalized in a "non standard" way (surprised because that was done back in 2008, and it escaped my attention all that time). That is, not gettext'ed, which is the method we have settled on for our pups. <br /> <br />So I converted the script to use gettext, and have created a new PET, assigned it version 0.3. <br /> <br />Get it from here: <br /><a href=></a> <br /> Automated file transfer with sftp Linux I have a script that uploads files to a website, using sftp. <br />sftp asks for a password to login, and I have to manually type it in every time. <br /> <br />So, I looked into how to automate password entry. This is a neat solution, however it is considered to be the least secure method: <br /> <br /><pre><code># echo -e '<commands>' | sshpass -p <password> sftp [-P <port>] <username>@<host></code></pre>< <br /> <br />An example: <br /> <br /><pre><code># echo -e 'pwd\nquit' | sshpass -p mypasswd sftp -P 2222</code></pre>< <br /> <br />The default is port 22, which many hosts use, so most likely the -P option isn't required. <br /> <br />Home page for sshpass: <br /><a href=></a> <br /> <br /> Introducing April64 Linux I have uploaded the latest build of Quirky April x86_64, version 6.88. This is an alpha-quality build, as there are some issues to resolve. <br /> <br />Here is the download link: <br /><a href=></a> <br /> <br />You will see at that URL, that there are installation instructions, plus the 'devx' PET. <br /> <br />Although I am rating this build as "alpha quality", it is working well. However, these issues remain to be resolved: <br /> <br /><li>Snapshot and recovery may not work. There are some static utilities that I have to include in the build.</li> <br /><li>Abiword 3.0.0 has the grammar checker, but it doesn't work -- I think because I linked the grammar plugin statically.</li> <br /><li>No media player. I did have Mplayer, but it has been going downhill for the last year or so, and has become unusable.</li> <br /><li>I am experiencing serious rendering problems with the Intel Xorg driver. I change to the 'modesetting' driver and all is well.</li> <br /><li>Wvdial is broken. This affects usb 3g modems and any dialup using wvdial.</li> <br /> <br />If you haven't been reading my blog, and are wondering what this "April64" thing is all about, please do scan down through my posts. <br /> <br />In a nutshell, this is a momentous occasion, as I have for the first time created a "one-stop shop", compiling absolutely everything from source, required to build a Puppy or Puppy-derivative. <br /> <br />At first, I compiled for a i686 target, that worked. Then the real test came when I compiled for a "amd64" target, also known as x86_64, for 64-bit Intel CPUs. Compiling was successful and I built a Quirky, codenamed "April64". First bootup, it worked. <br />Apart from the above-listed issues. <br /> <br />The new compile-everything-from-source build system is named woofQ, and I intend to upload that soon. <br /> <br />I will create a thread on the Puppy Forum, and invite feedback and assistance. Those who are into compiling, will be able to assist with fixing Abiword, for example, or compile VLC media player (or whatever). <br /> <br />Note: I plan to create a live-CD .iso file soon. <br /> Quirky April 64-bit coming Linux After compiling for a amd64 (x86_64) target in T2, I built Quirky April in woofQ -- and it worked first time! <br /> <br />The desktop, applications, all seems OK. <br /> <br />Some issues though. The 'hwclock' utility fails, and I found that the device node /dev/rtc is needed, but support is missing from the kernel. <br /> <br />With my i686 build, same situation, however 'hwclock' falls back to a method of reading the RTC direct from the ISA bus. <br />For the x86_64 build, that fallback does not work. <br /> <br />Hence, I am now recompiling the kernel with RTC support. <br />I installed "April64" to a partition, booted it, and compiling of the kernel is now underway. <br /> <br />Expect announcements soon, when I have April64 ready for testing. I am expecting to release woofQ, with in-built T2, also. <br /> Annoying "Recently used" File Open Linux Dave sent me an email about this, the incredibly annoying "Recently Used" default in the GTK File Open dialog. <br />Puppy Forum member 'mikeb' found a solution: <br /> <br /><a href=></a> <br /> <br />I have also found that to be extremely annoying, and a totally useless feature. <br /> <br />I have put the solution into the gtk+ template in woofQ. <br /> <br />Now, how to change the default "current working directory" from /root? ... <br /> 103 new packages for T2 Linux My mammoth effort over the last few weeks has been to compile every package used in Puppy and derivatives, such that a pup can be built without any PETs except for 'noarch' PETs. <br />That is, built entirely from binary packages compiled in T2. <br /> <br />Apart from a lot of fixing in my local T2, getting already-there packages to compile, and in the correct order, I added a heap of new ones to T2 -- I didn't realise just how many until today -- 103 new packages! <br /> <br />I have now submitted the new packages to Rene, for consideration to include in the official T2. Here is my submission: <br /><a href=></a> <br /> <br />However, for anyone who would like to have a go at compiling all of these packages in T2, and maybe experimenting with some enhanced package selections, you need my local T2. <br />I have done a lot of fixing, that is not in the official T2, and I have tested complete builds for i686 and amd64 (x86_64) targets. <br /> <br />What I have not yet done is an ARM build... <br />...if that interests you, go for it, however you will need to be running a native ARM distro, as I doubt that most of my new packages will succeed in a cross-build. <br /> <br />Monitor my blog, I do intend to upload my local T2 and will announce it. <br /> DRM fix for streaming TV Linux This is very interesting, a fix for TV streaming sites using DRM: <br /> <br /><a href=></a> <br /> <br />I don't have any personal need for it, but there are those that do. <br /> <br />The source would have to be compiled in T2 before I use it. <br /> <br />But, I will watch that thread, monitor further feedback. <br /> Translation updates Linux I am getting ready to upload the first alpha/beta of Quirky April, and the woofQ/T2 build-everything-from-source, so updating a few things here and there. <br /> <br />Many people have sent me messages over the last month (or more) with upgrades, advice, fixes, etc. I have filed these, some cases just on scraps of paper on my desk. Anyway, now attempting to go through the backlog. <br /> <br />The guys who create the "langpacks" are some of our unsung heroes. Thanks very much! These are the updates that I have now applied: <br /> <br /><b>langpack_fr-20141219</b> (French) <br />Author: esmourguit <br />Forum: <a href=></a> <br /> <br /><b>langpack_pl-20141130</b> (Polish) <br />Author: robwoj44 <br />Polish Puppy Forum: <a href=></a> <br /> <br /><b>momanager-20141123</b> <br />Author: originally me, now maintained by L18L <br />Forum: <a href=></a> <br /> <br />The PETs will be uploaded soon. <br /> New Year greetings Linux To readers of this blog, best wishes for the New Year! It is New Year's Eve where I am, 6.30pm. <br /> <br />A short progress report on Quirky, T2 and woofQ. <br /> <br />I successfully compiled everything in T2 and built Quirky April, the first puplet that I have ever constructed that has no PETs other than "noarch" ones (that is, PETs with only scripts and/or data files, no binary executables). <br />Absolutely everything is compiled in T2. Oh, except for the kernel, haven't got around to doing that in T2 yet. <br /> <br />That is a i686 build. Now, I am doing a complete rebuild in T2 for amd64 (x86_64). Did a run-through to see how many packages would fail -- about 30 failed, but out of about 550, that is not so bad. <br /> <br />Now doing another amd64 build in T2, fixing each broken package as we go along. Have fixed several so far, keeping fingers crossed that I can get them all to compile! <br /> SeaMonkey woes, T2 build order Linux <b>SeaMonkey woes</b> <br />My Quirky April build has SeaMonkey 2.31, the latest. <br /> <br />However, it has to rate as one of the buggiest SeaMonkey's ever released. <br /> <br />The problems start with many pre-compile configure options not working -- simply because the developers haven't checked those options are still OK. Important things, like being able to compile Javascript as a shared library. <br /> <br />Using it is mostly OK, but then I found hitting the Google-search button often has to be pressed twice before it works. <br /> <br />But then the killer: sometimes the Send button in Gmail refuses to work. It is a SeaMonkey bug, not Gmail. <br /> <br />I attempted to send an email, muttered some expletives, then booted up Quirky 6.1.4, which has SeaMonkey 2.22.1. <br />SM now works fine. <br /> <br />I think for the next Quirky April build, I might roll SM back. The thing is, there were scrolling issues with the prior version, so might roll back further. <br /> <br /><b>T2 build order</b> <br />Changing the subject, T2 has an "achilles heel", a lack of dynamic build order of packages. Build order is set manually, which is so error-prone. <br /> <br />I discovered a few packages that were (optional) dependencies of a package, yet were compiling after that package. I fixed them, but my confidence in the build order became very low. <br /> <br />I decided to do something about it, so wrote a build-order-checker. I posted it to the T2 mail list: <br /><a href=></a> <br /> Mind Map Architect Linux Have added these to T2: <br /> <br /><i>xsoldier <br />xwd (needed by 01micko's screenie app) <br />yad <br />yaf-splash (the original) <br />ycalc <br />libgee (extended data-types for vala) <br />mmarchitect</i> <br /> <br />Mind Map Architect homepage: <br /><a href=></a> <br /> <br />it was years ago that some of the guys were experimenting with mind-map applications. Lobster in particular, I recall. <br />There wasn't much out there, so we never put one into Puppy. <br /> <br />Along comes MMArchitect, only needs gtk2. <br />It took a bit of messing around to compile it, but got there. <br /> <br />MMArchitect will be in the upcoming Quirky April. <br /> shared-mime-info Linux Previous progress log: <br /><a href=></a> <br /> <br />Added: <br /> <br /><i>setvol</i> <br /> <br />I had already compiled 'shared-mime-info' in T2, however I have fixed the template in woofQ. <br /> <br />In all the years that I have been developing the puppies, I have never got the management of the shared-mime-info database quite right. Manually editing the 'glob' file is wrong. <br /> <br />There is only one file to maintain, and that is /usr/share/mime/packages/puppy.xml, and the mime database is updated by running 'update-mime-database'. <br /> <br />This time I have done it logically, remains to be tested though. <br /> <br />Later on, when testing Quirky April, if you want to add a new puplet-specific mime type, install the 'devx' PET, then edit /usr/share/mime/packages/puppy.xml, then run: <br /> <br /><pre><code># update-mime-database /usr/share/mime</code></pre>< <br /> <br />If it works, send me the updated 'puppy.xml', so I can put it into woofQ. <br /> T2: starting letter r Linux Getting there! The chained log of progress importing packages into T2: <br /><a href=></a> <br /> <br />Now onto the letter "r". First-up, have added this: <br /> <br /><i>retrovol</i> <br /> <br />retrovol is a superb audio mixer created by long-time Puppy Forum member pizzasgood. See forum post: <br /><a href=></a> <br /> <br />pizzasgood also has a home page: <br /><a href=></a> <br /> T2: starting letter o Linux I have been logging my effort to compile every single source package that most pups need, in T2. <br />Logs so far: <br /><a href=></a> <br /> <br />...chaining the links. Inside that link, you will find a link to previous effort. Or, just go to "Index" above, and look down. <br /> <br />Well, nothing in "o", so onto "p"... <br /> <br />Forum member rcrsn51 has 'peasyport', a nice network scanner: <br /><a href=></a> <br /> <br />It has a binary inside it, 'pnscan', so I have taken that out and compiled it in T2. pnscan home: <br /><a href=></a> <br /> <br />I got some patches from Debian. <br /> <br />Following earlier convention, I have created PET package 'peasyport-noarch' in the noarch repo. <br />The 'pet.specs' file specifies pnscan as a dependency. <br /> <br />So, added to T2: <br /> <br /><i>pnscan</i> <br /> <br /> Slow but steady progress adding to T2 Linux I was logging progress here: <br /><a href=></a> <br /> <br />However, decided to start a new thread. <br /> <br />Some more: <br /> <br /><i>guess_fs <br />gview <br />gwhere</i> <br /> <br />gview home page: <br /><a href=></a> <br /> <br />gwhere home page: <br /><a href=></a> <br /> <br />Gwhere needed a lot of TLC to compile. Feasible as it is written in C -- if it had been written in C++ it would have been a hopeless case. <br /> <br />...that's because the C++ developers shift the goal posts, unlike C that basically remains the same over the years. <br /> <br />I wonder if anyone uses these apps? I have put gview and gwhere into all my pups, for years and years. <br />Gwhere is a nice concept, though I never used it myself. It kind of filled a niche, so I always put it in. <br /> The end of Dr Dobb's Journal General Oh wow, this is the end of an era: <br /><a href=></a> <br /> <br />Back in the early 90's I used to purchase Dr Dobb's from my newsagent. I even contributed a couple of articles: <br /> <br /><b>Object oriented flow design:</b> <br /><a href=></a> <br /> <br /><b>TERSE operating system:</b> <br /><a href=></a> <br /> <br />Do you old-timers remember Byte magazine? In its heyday it was about half an inch thick. Another one that I used to buy sometimes. <br />Byte magazine bit the dust many years ago. <br /> Gpptp v2.0 in T2 Linux I announced recently the work that Puppy Forum member jafadmin has done, developing Gpptp, which is PPTP VPN client: <br /><a href=></a> <br /> <br />The PET package has two binary executables in it. I have taken the sources out to a separate package, named 'gpptp-2.0' and the compiled binary pkg will have the same name. <br />The PET, without the binaries, is now named 'gpptp-noarch-2.0'. <br /> <br />The latter will be uploaded to the Quirky noarch PET repo soon. It will be here: <br /><a href=></a> <br /> <br />The former will be uploaded to the April sources repo soon. That is here, not complete yet: <br /><a href=></a> <br /> <br />The binary packages created by T2 will be uploaded here, but there is nothing there yet: <br /><a href=></a> <br /> Continuing to import into T2 Linux I am working intensely on this. Days are rolling past, I will keep going until they are all in. <br /> <br />I am logging progress in this blog thread: <br /> <br /><a href=></a> <br /> pup-tools in T2 Linux I posted about compiling BaCon in T2: <br /><a href=></a> <br /> <br />That allowed the next step, which is to compile all of my utilities written in BaCon. <br /> <br />In woofQ I have centralised all compilable sources, that are inside woofQ. These are inside a directory named 'source', and there is a script that will construct a source tarball for T2, named pup-tools-<date>.tar.gz. <br /> <br />This script also asks for logos and name of the distro. So, for the example of 'welcome1stboot', the first-boot welcome window, which is actually welcome1stboot.bac, written in BaCon, this is now customisable. <br />In Quirky, welcome1stboot displays the Quirky logo and text like this: <br /> <br />" Welcome, this is the first time that you have started Quirky" <br /> <br />The logo can be changed to whatever you want, and the name "Quirky" replaced with whatever you want. <br /> <br />So, the generated source tarball can be supplied to T2, and T2 will generate a binary package, with the same name, pup-tools-<date>.tar.bz2. <br /> <br />'pup-tools' needs to be in the package-list of your target-build in woof. Here is the current content of the binary pkg: <br /> <br /><i>/bin/vercmp <br />/usr/local/petget/debdb2pupdb <br />/usr/local/petget/find_cat <br />/usr/local/pup_event/pup_event_frontend_d <br />/usr/local/pup_event/pup_event_ipc <br />/usr/local/simple_network_setup/proxy-setup <br />/usr/sbin/getcurpos <br />/usr/sbin/pngoverlay <br />/usr/sbin/popup <br />/usr/sbin/printcols <br />/usr/sbin/welcome1stboot <br />/usr/share/doc/nls/proxy-setup/proxy-setup.pot <br />/usr/share/doc/nls/welcome1stboot/welcome1stboot.pot</i> <br /> <br />Most of these are written in BaCon. Only vercmp, getcurpos and printcols are written in C. I compiled vercmp and printcols statically with dielibc. <br /> BaCon in T2 Linux I am firing on all eight cylinders today! <br />What's left of it anyway -- it is now ten minutes to midnight. <br /> <br />I have been logging my work importing source packages into T2: <br /><a href=></a> <br /> <br />A major hurdle has now been jumped. I needed to compile BaCon in T2, as the BaCon compiler is needed for many utilities used in the puplets. <br /> <br />It was not that straightforward. I downloaded the latest version, 3.0.2, from the home site: <br /><a href=></a> <br /> <br />...and compiled it in T2. <br /> <br />I then downloaded several individual files and created a tarball 'bacon_runtime-3.0.2.tar.bz2'. <br />As the name suggests, this mostly has runtime components, in particular the '' shared library and 'bacon.lang' and 'bacon.vim' text editor syntax-highlighter files. <br /> <br /> is a shared library that BaCon applications that use the HUG high-level GTK GUI can use to make their executable file smaller. <br />It has to be compiled and installed to /usr/lib/ <br /> <br />So I imported 'bacon_runtime' into T2, and created custom compile and install code. <br /> <br />Then I had to create a package template in woofQ, to set things up properly, such as register the syntax-highlighters with their appropriate editors. <br /> <br />The great thing about all of this, is what has been in my brain, and documented in an ad-hoc manner, or in places you can't find, is now formalised in definite steps in T2. <br /> More packages into T2 Linux I mentioned yesterday that about 440 packages got compiled in T2, to build Quirky April. <br /> <br />However, there are still a lot of core packages that are just PETs, that remain to be imported. <br /> <br />I am gradually working through them, importing them into T2. <br />Today I have done these: <br /> <br /><i>bbc_provided <br />libtubo <br />xfdiff-cut <br />mingetty <br />bcrypt <br />cddetect <br />cddetect_quick</i> <br /> <br />Some of those haven't been compiled since the puppy4 days, and required patches. Some don't have 'configure', nor even a makefile. <br /> <br />The great thing is, compiling these is now formalised. In my local T2 for now, I intend to merge with Rene's online T2 at some time in the future. <br /> Aaah, Mewel General Us old-timer coders recall our DOS and Windows programming days, perhaps with a touch of nostalgia. <br /> <br />I have ongoing rendering problems with the Intel xorg driver on my laptop. Parts of the screen suddenly disappear, or suddenly get replaced by a coloured background. it is weird. <br /> <br />I had this problem with Quirky Unicorn, still have it with Quirky April -- except it is now manifesting a bit differently. <br /> <br />Where does the blame lie? The Intel xorg driver? The kernel, the kernel i915 module? GTK? <br /> <br />Dunno, but I might do a rebuild of Quirky April with an older kernel, see if that makes any difference. <br /> <br />This set me off reminiscing... GTK is a bit of a mess, and I recall fondly my programming days with the win16 and win32 libraries. <br /> <br />I have an application, 'eve.exe', a freeware app, that was compiled back in early 2000, and it still works on recent Windows machines. <br />The win-api tended not to change, rather get added onto, unlike the madness of Linux libraries. <br /> <br />Then there is the implementation of win16 and win32, technically excellent. Apart from the lack of many modern features, I still consider those libraries to be technically superior to GTK and Qt. <br /> <br />I am writing of products developed fifteen years ago, superior to current efforts in the Linux world. <br /> <br />Then I recalled mewel, made by Magma Systems. I purchased Mewel late 1990s or very early 2000s. It is a win16-compatible library for writing graphical applications for msdos. it is not for writing applications to run in Windows. <br />I bought the cheapest one, to create text-mode graphic applications -- yes, text-mode. Quite remarkable product. <br /> <br />I hunted around, found this: <br /><a href=></a> <br /> <br />This got me thinking about WINE. A couple of years since I checked-out WINE, but I used to evaluate it periodically, and always found it to be slow and very imperfect. <br />Yet, 18 years ago these Mewel guys wrote a beautiful win16-win32-clone, worked very well indeed, very fast. They even sold the source code. <br /> <br />I am in a grumbling mood, aren't I! <br /> Improved integration T2, Quirky Linux My "Quirky build system" is a fork from Woof, late 2013. It has been going on its own divergent way, focused on building Quirky Linux, which is like creating a "specialised hunting knife", as opposed to Puppy Linux being a "Swiss army knife". <br /> <br />Anyway, rather than the long-winded name for my fork, I might just refer to it from now on as "woofQ". <br /> <br />So, woofQ has a script '0pre', which is also in earlier woofs, that is for importing binary packages that have been compiled in T2. <br /> <br />I have modified 0pre to remember the path to T2, so that it does not have to be re-entered. <br /> <br />I have created a new script, '0pre-add', to import additional packages from T2. <br /> <br />The scenario here is I use T2 to do a compile, it takes about 24 hours. I can then run '0pre' in woofQ to import the packages. <br />However, I usually compile more packages in T2, for example, today I have just compiled SeaMonkey, which I had not done in the original compile, due to some uncertainty about it being able to compile. <br /> <br />Having compiled SeaMonkey, or any other packages in T2, over in woofQ I can run '0pre-add', which will interrogate T2 and detect new packages and offer to import them. <br />0pre-add will create the appropriate package-database entry. <br /> <br />This new script makes my interactions between T2 and woofQ much more productive. <br /> April compiled in T2 Linux I posted recently that Quirky April is on the way: <br /><a href=></a> <br /> <br />I am compiling from source using T2. My objective is to compile <i>everything</i> from source in T2, something that I have not achieved before. <br /> <br />I haven't got there yet, but the vast majority of packages are compiled in T2, about 440. The last compile took just under 24 hours, using one core of my laptop's Intel i3 CPU (as running all 4 cores crashes the laptop when compiling gcc). <br /> <br />Getting all of the packages into T2 is an ongoing project, likely to take a few more weeks. Before that, I intend to build and release a Quirky April, maybe as a live-CD. Might classify it as a "beta" release, which I don't normally do with Quirkies. <br /> <br />Getting absolutely everything to compile in T2 is a worthy goal, as T2 is designed to compile for various CPU targets. It might then be a simple matter of changing the CPU target from "i686" to "x86_64", and let her rip for 24 hours. <br />Or, more likely, Murphy's Law will intervene! <br /> <br />Anyway, not sure when I can upload the propose "beta". Maybe in a week. <br /> Planner without gnome Linux Planner is a project management application, that has been in most recent puppies and quirkies. <br /> <br />Planner is a gtk2-based application, with gnome dependencies, however Puppy Forum member 'technosaurus' hacked the source to remove gnome deps. However, the configure script has to be tricked with "pretend" gnome files. <br /> <br />I have worked it out, and compiled Planner for the upcoming Quirky April, which is compiled from source using T2. <br /> <br />I have compiled Planner 0.14.6 in T2, and posted the package/gnome2/planner folder to the T2 mail-list: <br /><a href=></a> <br /> <br />The Planner source: <br /><a href=></a> <br /> <br />Puppy Forum thread: <br /><a href=></a> <br /> <br />If you want to compile Planner in your own Puppy or Puppy-derivative, grab the 'planner' tarball and examine it. It formalizes all the steps required, and has the patch from technosaurus. <br /> <br />For the configure options, I suggest this: <br /><pre><code># export UPDATE_DESKTOP_DATABASE=false <br /># export UPDATE_MIME_DATABASE=false <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i686-pc-linux-gnu --disable-schemas-install --disable-python --disable-silent-rules --disable-shared --disable-update-mimedb --enable-static</code></pre>< <br /> <br />...note, technosaurus has some optimisations to make the executable smaller, see his forum thread. <br /> 3.17.4 Linux kernel Linux I have compiled the 3.17.4 Linux kernel, in the upcoming Quirky April. <br /> <br />The PETs are here: <br /><a href=></a> <br /> <br /> Quirky does not use aufs/unionfs layered filesystem, all packages, including the kernel source, are PETs. <br /> <br />Here is the kernel source, with patches and build scripts: <br /><a href=></a> <br />(us#er#na#me: pu#pp#y pa#ss#wo#rd: li#nu#x) <br /> <br />The kernel has been compiled without PAE support, so limited to 4GB RAM, i686 CPU, and has the aufs, f2fs, squashfs drivers built-in (not as modules). Also zram support, again built-in. <br />There is no support for booting from UEFI systems, such a PC would have to be configured for "legacy bootup". <br /> Quirky April coming Linux I posted recently about my return to T2: <br /><a href=></a> <br /> <br />This has been very successful, I built a Quirky, installed to a USB stick, and it runs real nice. <br /> <br />I like it very much indeed, and this might be the proposed Quirky LTS. As such, I might number it as version 7.0, when it gets released. <br /> <br />Also, I have given this new Quirky a codename, "April". <br /> <br />April is one of the little dogs owned by my daughter and partner. There is also Vincent, who is already well-known in the Puppy-community. <br /> <br />I'll post a photo of April soon. <br /> <br />For the proposed LTS, there will be a surprise. Haven't implemented it yet, just an idea in the head for now! <br /> Default theme Linux I wanted to implement this in Woof for a long time, but now have done it in the Quirky build system. <br /> <br />Each target build, for example Quirky Unicorn, will now have a file 'default-theme'. This is the content in the case of Quirky Unicorn: <br /> <br /><pre><code>#3builddistro will read this, when building Quirky. <br />#gtk, jwm, wallpaper: names of pet pkgs, which may actually have more than one <br /># theme inside, hence the : separator with actual theme name. <br />DEFAULT_THEME_GTK2='gtk_theme_eucalypt:Eucalypt' <br />DEFAULT_THEME_JWM='jwm_theme_greenwhitex:GreenWhiteX' <br />DEFAULT_THEME_WALLPAPER='desk_background_greenvapors:green-vapors.jpg' <br />DEFAULT_THEME_DESK_ICONS='desk_icon_theme_green_glow:green_glow' <br />DEFAULT_THEME_ROX_TEXT_FOREGROUND='#000000000000' #black <br />DEFAULT_THEME_ROX_TEXT_SHADOW='0' #0=none <br />DEFAULT_THEME_ROX_TEXT_FONT='DejaVu Sans 11'</code></pre>< <br /> <br />The scripts 3builddistro and support/choose_themes now support this. In the case of GTK, JWM, Openbox and wallpaper, the script choose_themes will still popup a dialog box, but it is now preset to the appropriate choices. <br /> <br />In the case of ROX-Filer text settings, 3builddistro no longer asks anything, just uses the settings in default-theme, or falls back to the original (black text, thin shadow, DejaVu Sans 10). <br /> <br />This makes it a bit easier when building quirkies, as it is not required to remember all the theme choices every time a build is done. <br /> Playing with T2 Linux I reported recently my adventures "playing" with Gentoo: <br /><a href=></a> <br />And playing with Buildroot: <br /><a href=></a> and <br /><a href=></a> <br /> <br />Now I have moved onto T2, my old favourite. Many earlier versions of Puppy were built from binary packages compiled from source in T2. <br /> <br />Here is the T2 home: <br /><a href=></a> <br /> <br />Many of the packages in T2 are getting a bit "long in the tooth", due to lack of developers. The maintainer Rene, is the main force keeping T2 alive. <br /> <br />I have been very busy the last few days, communicating with Rene, updating packages, fixing those that wouldn't compile. Here are our communications on the T2 mail-list: <br /><a href=></a> <br /> <br />And here is the T2 changelog: <br /><a href=></a> <br /> <br />I plan to build a Quirky from these packages, and will evaluate the end result and decide whether this is going to be the base for the next series of Quirky, maybe even the LTS. <br /> <br />Note: the significant features of my current build in T2 is what is <i>not</i> there: llvm, mesa, dbus, berkeley-db. <br />icu is now acceptable to me, as I am able to cut it down, as I reported recently: <br /><a href=></a> <br /> Puppy continues #2 Linux I have taken my sweet time about it, but I have finally updated the index.html page on, to reflect that Puppy is now a community-developed project. <br /> <br />See: <br /> <br /><b><a href=></a></b> <br /> <br />I also modified the download page: <br /> <br /><b><a href=></a></b> <br /> <br />Probably quite important, this formalises where to look for "official" Puppy releases. It also clarifies where to look for development tools, for those who want to help with development of Puppy -- that is, the woof-CE project. <br /> Puppy continues Linux I have just responded to a thread on the Puppy Forum: <br /><a href=></a> <br /> <br />The topic is that Puppy does not have a "mainline" official release anymore. I understand, with so many pup variants around, how this confusion arises. <br /> <br />Here is the text of my reply: <br /> <br />Hi, <br />There *is* a "mainline" Puppy! <br /> <br />Puppies built from woof-CE are following the "mainline". <br /> <br />woof-CE is the community-maintained woof, forked after I retired from Puppy development. <br /> <br />woof-CE github: <br /><a href=></a> <br /> <br />woof-CE mail-list: <br /><a href=></a> <br /> <br />Discussing woof-CE in this Puppy Forum thread: <br /><a href=></a> <br /> <br />The latest "official" Puppy, built from woof-CE, is Tahrpup 6.0, which was released recently, and is announced on distrowatch. <br /> <br />My blog announcement for Tahrpup 6.0, created by philb666: <br /><a href=></a> <br /> <br />Before Tahrpup 6.0, there was also the "official" Puppy, Slacko 5,7, created by 01micko, also built with woof-CE (in fact, the first official release to do so): <br /><a href=></a> <br /> <br />I understand the confusion. It really is not at all obvious these days that there is still a "mainline" pup forging ahead. <br /> <br />Tahrpup is built from Debian DEBs, Slacko from Slackware pkgs. It is in the nature of Puppy to be able to build from the packages of any distro, so future puppies will continue this diversity, including the official releases. <br /> Systemd discussion on forum Linux Please note that there is an ongoing discussion on the Puppy Forum about systemd: <br /> <br /><a href=></a> <br /> <br />O.T. <br />Right now, I am running my laptop off the battery, as there is an electrical storm. <br /> <br />As there is a USB hard drive powered off the USB3 socket, the battery is getting drained rather fast! <br /> <br />It is one great thing about a laptop though, to be able to unplug the power socket, and the laptop just keeps going. <br /> Debian Fork coming? Linux In my previous blog post I wrote about a proposed Quirky LTS: <br /><a href=></a> <br /> <br />A couple of days ago, I grumbled about systemd: <br /><a href=></a> <br /> <br />It is not certain that it will happen yet, but some Debian developers look to be serious about forking Debian: <br /><a href=></a> <br /> <br />...they are seeking donations. <br /> <br />If that actually does happen, I will be very pleased, and there is a high likelihood that I will build a Quirky from their DEB packages. <br /> Quirky LTS? Linux As I am retired from Puppy Linux development, and despite the current flurry of activity developing Quirky, I will likely soon lapse back to other activities, so I am thinking of creating a "Long Term Supported" Quirky. <br /> <br />With Quirky, my fork of Puppy and venue for experimenting with new ideas, there have been releases that are very different from each other. Quite bewildering for anyone checking out Quirky for the first time. <br /> <br />The latest Quirky, Quirky Unicorn 6.2.1, built from Ubuntu 14.10 binary DEBs, is OK, except that I have graphics rendering issues with my Intel graphics chip, plus, as usual, I very much dislike the bloat. <br /> <br />One of my great loves with Puppy has been to create a very small distro, and I still enjoy that. Even though we have more RAM etc., there is still a place for a very small distro. Like, for example, running fast in RAM-only, with plenty of "leg room" to run apps and save stuff. <br /> <br />For that reason, I think that my favourite Quirky is 6.1.4, which is built from binary packages compiled in T2. The xz'ed image file was about 105MB, I recall. <br /> <br />My recent experience with Buildroot has shown me ways in which I might be able to make that smaller, and this is something that I would like to do. <br />Not using Buildroot though, as I need a tool that will create binary packages and a resultant root filesystem that has the complete compiler toolchain in it. <br /> <br />For this reason, I am looking at T2 again, employing what I have learned from Buildroot. <br /> <br />My thinking is that I will create something that I will stick with for a few years. This will also give others the opportunity to contribute, packages perhaps, knowing that this version of Quirky is going to be around for a considerable time. <br /> <br />This will mean then, that Quirky is going to settle down, become mature, not change wildly from one version to the next. <br /> <br /><b>Quirky history</b> <br />A bit of an overview of the Quirky releases, going back in time: <br /> <br />Quirky Unicorn (latest 6.2.1): <br />This is built from Ubuntu 14.10 Utopic Unicorn DEBs. 6.2 release: <br /><a href=></a> <br /> <br />Quirky Tahr (latest 6.0.5) <br />Built from Ubuntu 14.04 Trusty Tahr DEBs. 6.0 release: <br /><a href=></a> <br /> <br />Quirky T2 (latest 6.1.4) <br />Packages compiled from source using T2. The first release was 6.0: <br /><a href=></a> <br />But, version numbers grew to the latest, 6.1.4, which overlaps the later Trusty Tahr, so that is a source of confusion. <br /> <br />I think perhaps that my LTS Quirky will be version 6.3.x, to clearly show that it is later than all of the others. <br /> <br />If anyone wants to contribute a thought about this, feel free to post here: <br /><a href=></a> <br /> Quirky Erik update, and EOL Linux <br />The latest xz'ed image file is only <b>96MB</b>, with Midori, Sylpheed, Gnumeric, Abiword, and pretty much everything that you would expect to find in a Puppy or Quirky. <br /> <br />Not bad, considering that most of our pups and quirkies these days are pushing 200MB. The Quirky Unicorn 6.2.1 .xz file is 195MB. <br /> <br />With a bit more work, I could push it below 96MB, however, I have decided to leave working on Buildroot. Coz, I don't really know where I am going with it. <br /> <br />The desktop of QE works, I can go online with Midori, except it crashes when I go to Some pages render awful. <br />I am using old Gnumeric and Abiword PETs from Wary5, they work fine. Mtpaint also from Wary5, but it crashes when do File -> Open. <br /> <br />So, there are bugs, but I won't be fixing them. I will leave it to anyone else who might have the itch to compile a root filesystem with Buildroot and import it into the Quirky build system -- and build a Puppy-like distro. <br /> <br />I have uploaded the latest Quirky build system: <br /> I haven't, cannot upload to <br />...I will post a comment when succeed. <br /> <br />quirky-20141124.tar.gz needs to be expanded in a partition with Linux filesystem, and at least 20GB free space. It is recommended to create a top-level folder in the partition named something like 'quirky-project', and download the tarball inside that folder, and expand it there, it will expand as folder 'quirky'. <br /> <br />In quirky/woof-code/support/buildroot, you will find instructions on how to compile a root filesystem using Buildroot, and how to import it into Quirky. <br /> <br /><b>What's next</b> <br />I have learned quite a lot from this exercise, and can see how it would be fairly easy to apply the same principles to any other root filesystem. Might look into that. <br />Or might do some else... <br /> Cutdown icu Linux I made an extremely interesting discovery. I have lamented the size of icu, and the drift of many packages to adopt it as a dependency. <br /> <br />There is one file, /usr/lib/<version>, that is 22 - 25MB. That is a massive file, one that I would love to remove or reduce when striving for a lean-and-mean Quirky (and earlier, Puppy). <br /> <br />Well, I have found that I can. If the icu source is configured with "--with-data-packaging=archive", the database inside that library file is taken out. In the case of icu version 51.2, that I am using in Buildroot, the data file is /usr/share/icu/51.2/icudt51l.dat <br /> <br />The library file /usr/lib/ becomes a mere 3KB, and icudt51l.dat becomes 22MB. <br /> <br />The fat has just moved, however, I discovered this site: <br /><a href=></a> <br /> <br />...which enables one to create a cutdown .dat file. <br /> <br />Not having a clue what I am doing, I unticked all the boxes, leaving just the bottom 'base data' box ticked, and generated a icudt51l.dat file of only 320KB. <br /> <br />Now the remarkable thing is, testing this in my Quirky Erik, running Midori browser, which requires webkitgtk, which requires icu, browsing around on the Internet, I can't see any difference compared with having the full icudt51l.dat <br /> <br />Hmmm, maybe it's because I only looked at English sites. <br /> Pondering on Quirky Erik Linux "Quirky Erik" is the codename I have given to Quirky built from source using Buildroot. See my recent blog posts. <br /> <br />Apart from scratching an itch, I have been wondering how far I should go with this Buildroot-to-Quirky thing. <br /> <br />Well, it does give anyone the opportunity to create their own tiny Puppy-like distro from source packages. There might be interest in it from that point of view. <br />The steps are quite straightforward, and I am documenting it carefully. <br /> <br />So far, I have got Quirky Erik booting to a working desktop, with some caveats. I should be able fix the remaining problems, <br /> <br />Right now, Buildroot is doing a recompile, configured without 'ffmpeg', only 'gstreamer' (1.0), trying to get the size right down. <br />There is the 'vlc' CLI (commandline-only) audio/video player, and I was thinking of using sc0ttman's vlc-gtk GUI -- but I did a quick test and it wouldn't play anything -- so maybe I will create a live-CD and ask sc0ttman to help find out what is wrong there. <br /> <br />But, I really don't know if I can leave out ffmpeg, as so many of our Puppy in-house apps use it. The ones that I can think of right now are: <br /> <br />pavrecord, pburn, pdvdrsab, precord <br /> <br />Any thoughts on Quirky Erik and Buildroot, feel free to post to this thread in the Puppy Forum: <br /><a href=></a> <br /> Distributions using eudev General Puppy Forum member wyzguy sent me this link, that catalogs all distributions using eudev: <br /> <br /><a href=></a> <br /> <br />Note, if you are new to this udev/systemd/eudev issue, google around, also my blog has some posts on the subject. <br /> <br />I am currently playing with Buildroot, and that also has the option of eudev. Which is the option I have chosen of course. <br /> Playing with Buildroot Linux I have an ongoing interest in Buildroot -- every couple of years I have a play with it -- but this time I might "run with the ball". <br /> <br />Here is the Buildroot homepage: <br /><a href=></a> <br /> <br />Buildroot will compile a complete filesystem from source, using the same configure mechanism that the Linux kernel uses. It is particularly easy to use, with execellent dependency management. It is possible to build a very compact full desktop. <br /> <br />Buildroot creates a root filesystem, but does not create individual binary packages, nor does it place the compile-toolchain into the target filesystem. <br />What the latter means, is that if you were to install the root filesystem, you can't compile anything in it. <br />To compile any packages, it has to be done inside Buildroot. <br /> <br />In theory, it is possible to extract the compile-toolchain out of Buildroot and put it into the target root filesystem, and early versions of Buildroot (before 2011 I think) did have this option -- but it was not maintained so was dropped. <br /> <br />It would be an interesting project, to restore that feature. <br /> <br />I have just completed a build, with Midori web browser and Sylpheed mail/news client, mplayer, vlc (without Qt). <br /> <br />The proper Xorg too, and I see that 'xf86-video-intel' is version 2.99.914, very recent -- released 23 July 2014. That's good, most recent cheap PCs have Intel graphics, including both of my (not so recent) laptps. <br /> <br />I have left out 'LLVM' (yay) and 'mesa' (yay again), but had to put in 'icu' as 'webkitgtk' needs it. <br /> <br />Compile failed several times, but I was able to manually fix it and keep going. if I decide to take this further, I will have to create patches to permanently fix these bugs. <br /> <br />The next thing that I am going to do is install the root filesystem and boot into it. If that works, then various interesting ideas have presented themselves... <br /> Played with Gentoo General "Played", notice the past-tense. <br /> <br />I never really looked closely at Gentoo before. Yesterday I went through the whole install procedure. But, I didn't use Gentoo's bootstrap CD, I installed a Stage-3 tarball from my running Quirky 6.2. <br /> <br />it took a long time. Fiddling around, I felt like I was using Linux from 15 years ago. <br /> <br />I have documented every step, so if anyone wants to repeat my experiment, I can send you my notes. <br /> <br />At the end, I tried to do an "emerge seamonkey", but it reported a conflict between 'ffmpeg' and 'libav', as both cannot co-exist. However, it seems that some packages want libav, some want ffmpeg, which left me in a quandary. <br /> <br />So, I tried "emerge vlc", but it wanted package 'minizip', but there is no such package. There is a bit more to it than than that, but I couldn't figure out how to tell the system that minizip isn't actually needed. <br /> <br />I had been at it for about 12 hours, and I just ran out of patience. <br /> <br />Yeah, I could go to the Gentoo forum and ask, probably could solve those problems. <br />But, decided there is too much "messing around" and Gentoo is not for me. <br /> Alternatives to systemd Linux For my Quirky Linux project, I am thinking of dropping support for building from Ubuntu DEB packages, and any other distro that has adopted systemd. <br /> <br />However, the tentacles of systemd are spreading, and it may eventually become impossible to use Linux without also using systemd. I will face that when I come to it. In the meantime, I will put my support behind those distros that are "holding out". <br /> <br />Foremost of course, is Puppy and all of the Puppy-derivatives, including Quirky. Puppy and Quirky use Busybox init, which is very simple. There are no runlevels, there is a simplified /etc/inittab, and we have simple scripts in /etc/rc.d. <br />It works extremely well, and we have bootup and shutdown speeds that are faster than most other distros. <br /> <br />There are some other simple init systems that will work well with Busybox, for example 'minit': <br /><a href=></a> <br /> <br />Puppy does rate as one of the "major" Linux distributions, in terms of popularity, so should always be listed as one of the holdouts. <br /> <br />What others are there? These I know of: <br /><b>Alpine</b>: <a href=></a> (x86, x86_64) <br /><b>CRUX</b>: <a href=></a> (x86_64) <br /><b>Gentoo</b>: <a href=></a> (multiple architectures!) <br /><b>PCLinuxOS</b>: <a href=></a> (x86, x86_64) <br /><b>Slackware</b>: <a href=></a> (x86, x86_64, ARMv5te) <br /> <br />If anyone wants to comment about this post, or any other post on my blog, you can either click the Contact Me link above (which requires registration and email verification), or post to this Puppy Forum thread that I am currently monitoring (even if your post is a bit off-topic, never mind, but do understand that it is moderated): <br /><a href=></a> <br /> QU64 progress report Linux I am now booting to a desktop, that is progressing well. Still a few things to fix. <br /> <br />However, I am still stuck, as cannot compile anything, as reported here: <br /><a href=></a> <br /> <br />Even in Fatdog64, all is not smooth sailing. I attempted to compile the 'file' package, and got this error: <br /> <br /><pre><code>/usr/bin/ld: errno: TLS definition in /lib64/ section .tbss mismatches non-TLS reference in .libs/magic.o</code></pre>< <br /> <br />...haven't googled that one yet! <br /> <br /> QU64: eudev, f2fs-tools Linux My QU64 compile environment is still broken, so I compiled these packages in Fatdog64. <br /> <br /><b>eudev 1.10</b> <br />I downloaded eudev from here: <br /><a href=></a> <br /> <br />Briefly, the history of eudev: before, there was 'udev', which got merged into 'systemd'. Which annoyed a lot of people, and I have written about it on my blog. Many applications need the later libudev that is in systemd, but what if you don't want systemd in your distro? -- actually, it is getting harder to leave it out, as the tentacles of systemd are spreading, and many utilities (cupsd for example) in major distos (such as Ubuntu 14.10) have a dependency on a systemd library. <br />Anyway, the udev components can in theory be extracted from systemd, but there is one step better -- the Gentoo distro is one that has held out against systemd, and they maintain 'eudev', the udev component of systemd, extracted from systemd sometime ago and maintained as a separate project. Eudev will give you 'udevd' daemon and 'libudev' and 'libgudev' libraries, plus of course all the udev rules. <br /> <br />This is how I compiled it. The 'kmod' package is required (and the kernel needs to have devtmpfs enabled). It was Dec. 2013 ago that I had some communication with the eudev developers, and ended up with these rather complicated-looking configure options, though some of them are defaults anyway. The same options are still working for me now. <br /> <br /><pre><code># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/lib/udev --with-rootlibdir=/lib --with-firmware-path=/lib/firmware/updates:/lib/firmware --enable-introspection=no --disable-selinux --enable-libkmod --with-rootprefix="" --disable-gtk-doc --disable-manpages --disable-keymap --with-modprobe=/sbin/modprobe --libexecdir=/usr/libexec --enable-modules --build=x86_64-pc-linux-gnu --enable-split-usr --exec-prefix="" <br /># make <br /># new2dir make install</code></pre>< <br /> <br />...of course, change that "x86_64" to "i386" for a 32-bit compile. <br /> <br /><b>f2fs-tools 1.4.0</b> <br />I downloaded from here: <br /><a href=></a> <br /> <br />The kernel needs to have the f2fs driver enabled. <br /> <br />the "autoreconf --install" step complained of missing build-aux/config.guess and config.sub -- I got them from jwm-976 source package. <br />Do this first! ...that is, create folder 'build-aux' and copy those files. <br /> <br /><pre><code># autoreconf --install <br /># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --bindir=/bin --sbindir=/sbin --libdir=/lib <br /># make <br /># new2dir make install</code></pre>< <br /> <br />...ditto, replace "x86_64" with "i[3456]86" for 32-bit compile. <br /> Bad purchases Light I have explored various input devices to use with my Android smartphone. <br /> <br />Actually, I have my sights set on a Samsung Galaxy Note 4, as I am "sold" on its S-pen stylus. The Galaxy Note series have a Watcom detection layer on the screen, just like digitiser tablets, which makes the S-pen a delight to use. <br /> <br />Anyway, I don't own a Note 4, so I explored alternative input devices for my current Android phone (other than my finger, that is). <br /> <br />There is nothing that comes anywhere near an S-pen. That includes the bluetooth stylii that are available for smartphones. <br /> <br />But, I did make a couple of fairly budget purchases, a capacitive-pen and a bluetooth mouse. Both were a disaster. To warn others, I have created a special page: <br /> <br /><a href=></a> <br /> UEFI, win8, x86_64 musings Linux <b>"win8" laptop</b> <br />I mentioned recently that I bought a "win8.1" laptop for someone who lives in a country town. <br />I have had to hand it over, and she is happily using it. That town is Carnarvon, and we did the tourist thing, visiting Shark Bay and Monkey Mia. Other places too, such as the big dish that was used to track the first moon landing, banana plantations, the "blowholes" just north of Carnarvon. <br /> <br />Wonderful climate in Carnarvon, warm but with an incredibly strong and cooling sea-breeze every day. <br /> <br />So, are my UEFI-booting experiments at an end? Perhaps I should buy a small "win8" laptop for myself. Problem is, I am quite happy with my current laptop, in one respect it is throwing money away just to buy a laptop for Quirky Linux booting experiments. Will think about it. <br /> <br /><b>x86_64 Quirky</b> <br />I decided to add the functionality to the Quirky build system, to build a x86_64 Quirky Unicorn. Which I then did, and right now have come to a dead stop. <br /> <br />When I get to the point where the 'rootfs-complete' is created and a 'chroot' is performed, I can do a successful chroot, but only because busybox is statically compiled. None of the dynamically-linked programs work. I am doing this chroot from a running Fatdog64 or Slacko64. <br /> <br />If, for example, I try "chroot rootfs-complete /bin/bash --help", I get the message that bash is "not found". This very obscure message has to be the most obscure one that the developers of the dynamic linking mechanism could dream up. It can hide a variety of problems. <br /> <br />Everything is setup correctly. 'ldconfig' has been run, /etc/ has the right paths in it. All libraries are present. The most likely problem is a library mismatch, which should not be, as I have used only the official Ubuntu x86_64 DEBs for this initial build. <br /> <br />But anyway, I did some testing. I compiled 'binutils' statically in Landley's Aboriginal Linux x86_64 root filesystem, which has the utilities 'readelf' and 'objdump'. What I was looking for was an ABI-mismatch, that it, 'bash' wanting say with "GLIBC_2.3" compatibility. But, no problem there. <br /> <br />So, the "not found" problem is a complete mystery to me. I'll give it a rest for a day or two. <br /> <br />I could of course use Rob Landley's excellent root filesystem to compile more packages statically, to be able to perform most console operations after chrooting into rootfs-complete, but that is only postponing the problem. <br /> <br />Oh, yes, that Aboriginal Linux -- Rob has gradually replaced the Busybox applets with Toybox applets, however I have found that to be unsatisfactory. To compile 'coreutils', the Toybox 'rm' and 'ls' were inadequate. I had to compile Busybox and point rm and ls to it. <br /> Booting QU on UEFI machine Linux Just a short note on my progress. <br /> <br />I can't say that I am happy. I am trying to use syslinux 6.03 and a USB stick to boot on a "win8.1" laptop with 64-bit UEFI firmware, Secure Boot turned off, and "legacy boot" disabled. <br /> <br />I had to enable various EFI options in the Linux kernel configuration. I was eventually getting syslinux to launch the kernel, but no kernel output appearing on the screen -- until I enabled CONFIG_EFI_STUB -- I don't understand why, but I then got logging to the screen. <br /> <br />Doing the full thing, GTP partition table, 512MB FAT32 EFI System Partition, f2fs second partition, 64-bit kernel, it works, get logging to screen, but kernel panic as no 64-bit init. <br /> <br />With a traditional MBR, 16MB FAT16 first partition, 64-bit kernel, I can also get it to boot -- as the UEFI spec states a removable drive with those specs should be bootable. <br />Get the kernel log, but hangs probing the USB interface. No kernel panic, just a hang, needing hard power-off. <br /> <br />A 32-bit kernel is supposed to work. Syslinux 6.02+ is supposed to handover to a 32-bit kernel from a 64-bit UEFI, but it doesn't work for me. <br /> <br />It seems the only way that works for me is to create a 64-bit Quirky build. Do I want to do that? Dunno. <br /> <br />I will have to think about this. A side-reason, not the main one, that I retired from Puppy development, was I did not like the way things were heading, the changes. UEFI was one of them. Even GPT, I developed a dislike for. Systemd another. Then there is the bloatware such as LLVM and libicu. <br />...don't mind me, I'm in a grumpy mood. <br /> <br />Here is some info on EFI_STUB: <br /><a href=></a> <br /> Booting Fatdog64 live-CD Linux This is a brief report on my experience with booting Fatdog64 700b2, on my laptop with conventional BIOS, and another "win8.1" laptop with UEFI firmware. <br /> <br />Firstly, the BIOS case. Booted up without any issues, fast. No issues with shutting down either. <br /> <br />Now for the win8.1 laptop. I had to go into the UEFI firmware at bootup, by hitting the F2 key, and place the CD first in the boot order. Also, Secure Boot is turned off. <br /> <br />The CD then did boot. I got a nice GUI menu, and chose normal bootup. Then got the GRUB menu and had to choose again. Hmmm. Then got essentially a blank screen with only the Fatdog logo on it. <br /> <br />I waited, thought it had hung. Went away for awhile, came back and found that it had booted to the desktop. Hmmm again. <br /> <br />Seemed to work ok. <br /> <br />At shutdown (I chose not to save the session), was slow, then got into an endless loop trying to "disconnect" the Logitech USB mouse. <br />I waited for quite some time, then did a hard power-off by holding down the power key. <br /> <br />So, conventional BIOS is great, UEFI very unsatisfactory, at least on my test laptop. <br /> <br />I am working on getting Quirky Unicorn to boot from a USB stick on the win8.1 machine. Have got part-way there, will give a report on that soon, well, hopefully I will succeed on getting it to boot. <br /> Fatdog64 700b2 Linux Kirk and James continue to advance with this superb fork of Puppy. Well, the fork was years ago, and Fatdog64 has matured into a very distinct distro, with significant improvements and refinements relative to the puppies. <br /> <br />Most importantly, Fatdog64 is for 64-bit Intel machines, which is most desktop PCs and laptops these days. <br /> <br />It is also designed to bootup on modern "win8" machines, that have UEFI firmware, as well as traditonal BIOS machines -- I will post my experience on that soon. <br /> <br />If you would like to be involved in testing of the latest beta, 700b2, go here: <br /><a href=></a> <br /> <br />if you would like to read what Fatdog64 is all about: <br /><a href=></a> <br /> JWM Theme Maker 1.7.4 Linux Puppy Forum member trio has upgraded his creation, JWM Theme Maker, to version 1.7.4: <br /><a href=></a> <br /> <br />I have updated the PET, will upload it soon to the Quirky 'noarch' repo, and it will be in the next build of Quirky Unicorn. <br /> GTK Theme Maker 1.7 Linux Puppy Forum member trio has upgraded his creation, GTK Theme Maker, to version 1.7: <br /><a href=></a> <br /> <br />I have added the PET to the Quirky 'noarch' repo, and it will be in the next release of Quirky Unicorn (likely to be 6.2.2). <br /> Gpptp 2.0 Linux Puppy Forum member jafadmin has been working on Gpptp, a VPN client, for sometime. Quirky currently has version 0.2 PET. <br /> <br />jafadmin has recently released version 2.0: <br /><a href=></a> <br /> <br />I have updated the PET, which I will upload to the Quirky 'common' repo soon. <br /> <br />jafadmin sent me the source (there is a binary executable): <br /><a href=></a> <br />(user: p#u#p#p#y pass: l#i#n#u#x) <br /> network_tray 3.1 Linux Puppy Forum member OscarTalks has posted about a problem with network_tray, the network applet that sits in the desktop tray: <br /> <br /><a href=></a> <br /> <br />The received/transmitted bytes stopped counting at 2GB, and the tray icon stopped blinking. <br /> <br />Forum member rcrsn51 found out why. Although I had specified the variables as 'long long int', they were only being treated as 'long int' (signed 32-bit). <br /> <br />I have updated network_tray PET to version 3.1, and this will be uploaded soon to the 'common' repo for Quirky. Ditto, the source will be uploaded to my sources repo. <br /> Quirky live-CD Linux Some of the Quirky testers have expressed the desire for a Quirky Unicorn live-CD, so here it is. <br /> <br />It is very different from Puppy Linux live-CDs, and classified as experimental. Read the full announcement here: <br /> <br /><a href=></a> <br /> <br />Most important, this CD will only run in a computer with at least 1.5GB RAM, preferably 2GB. Also, i686-class CPU required. <br />Actually, I have only tested in my laptop with 4GB RAM, I am just theorising that 1.5GB will work -- you could try with that amount, or even less, and let me know. <br /> <br />Download (231.5MB): <br /><a href=></a> <br /> <br />Yeah, it is big! <br /> <br />Md5sum: <br /><a href=></a> <br /> <br />I have only just now uploaded it, not yet in the mirrors. But, soon it should be available in the faster nluug mirror, see here: <br /><a href=></a> <br /> <br />As usual, feedback can be posted here: <br /><a href=></a> <br /> The status quo Linux Just a friendly reminder. Newcomers of course might not realise the situation... <br /> <br /><b>Puppy Linux</b> <br />I have been receiving some emails with questions about "tahrpup". <br /> <br />Tahrpup is the latest official release of Puppy Linux. I announced it on my blog, as that has remained as the place for such announcements. However, I am retired from Puppy development. <br /> <br />Please see the blog announcement for Tahrpup (Puppy Linux 6.0), with link to the Puppy Forum where the developers and testers lurk and questions can be asked: <br /><a href=></a> <br /> <br /><b>Quirky Linux</b> <br />Quirky Linux is a fork of Puppy, and I am developing Quirky, on-again, off-again, exploring interesting ideas. Quirky is becoming increasingly diverged from Puppy, though, to use it, you might feel as though you are using another Puppy -- because it is mostly what is under-the-bonnet that is changing. <br /> <br />People are trying Quirky, but thinking in "Puppy terms". It is great that you are having a play with Quirky, but it would be good to recognise how Quirky is different. <br />A starting point is the readme for the original Quirky, that was built from packages compiled from source in T2: <br /><a href=></a> <br /> <br />Later I created Quirky Tahr, built from Ubuntu Trusty Tahr DEBs: <br /><a href=></a> <br /> <br />And most recently, Quirky Unicorn, built from Ubuntu 14.10 Utopic Unicorn DEBs. <br /> <br />The "Ubuntu builds" have significant differences, much bigger, with all xorg video drivers, llvm -- lots of packages that were not in the "T2 build". <br /> <br />Anyway, one of the most important things to know about Quirky, is that there is no "pupsave" file. Quirky is a full Linux installation only, like other distros except with heavy duty rollback and recovery tools. <br /> <br /><b>Quirky forum</b> <br />Comments to this blog are disabled, which was done earlier this year because of security violations. I have not got this blog script to a state where I am confident of reinstating comments. <br /> <br />There have been posts about Quirky in different places in the Puppy Forum. The problem with that is that I don't monitor all posts to the Forum. <br /> <br />However, I am monitoring this thread: <br /><a href=></a> <br /> Syslinux 5.x, 6.x partly broken Linux I am testing syslinux 6.03, with a view to UEFI booting, but have run into a bug. <br /> <br />Just using it for booting a USB stick, with normal MBR and a conventional BIOS computer, boots up ok, displays the text screens, but not the 'logo.16' LSS image. <br /> <br />Users of the Puppy live-CD will know about that image, it is the first thing you see, with a short message below it to wait five seconds or press the F2 key for a help screen. <br /> <br />I searched online, couldn't find any info. Then recalled that we did have problems with syslinux 5.x sometime ago, so stayed with 4.05 or 4.06 for Puppy. Here is one discussion: <br /><a href=></a> <br /> <br /> can see at bottom of thread, Karl Godt reporting the same problem with the LSS image not displaying. <br /> <br />I posted an enquiry to the syslinux mail-list, and Ady kindly replied promptly to let me know this is a known bug. <br />Ady posted this link: <br /><a href=></a> <br /> <br />I hope very much that one of the syslinux developer guys takes this one onboard! <br /> Kernel with EFI vars Linux All of my computers, desktops and laptops, have traditional BIOSes, but for a few days now I have had in my possession a laptop with Windows 8.1 and UEFI boot firmware. <br /> <br />As all computers with Windows 8.x have UEFI firmware, and given that I have one of these in my possession, I suppose that I should investigate how to get Quirky to boot on them. <br /> <br />I am a bit nervous about changing the partitions, as I bought this laptop for someone, and will be giving it to them soon. <br />However, I will at least attempt to get Quirky to boot off a USB stick. <br /> <br />This page was a good starting point, to modify things from a running Windows: <br /><a href=></a> <br /> <br /><b>UEFI firmware</b> <br />In the Control Panel -> System and Security -> Power Options -> Choose what the power buttons do, <br />I clicked "Change settings that are currently unavailable" <br />Then in "Shutdown settings" I disabled "Turn on fast startup" <br />Then clicked "Save changes" button. <br /> <br />I then rebooted, and pressed the F2 key to bring up the boot firmware setup (UI is like the old BIOS setup). Note, some computers might require the DEL key to do this. <br />Note also, the prior step in the Control Panel is required to be able to use the F2 key to bring up the firmware setup. <br /> <br />In the firmware menu, "Security" section, there is "Secure Boot [enabled]", and I pressed the "-" key to disable, then saved. <br /> <br />The firmware also has a "Boot order" section, however my Quirky Unicorn USB stick is for the old BIOS computers. I do need to choose the USB stick as first in the boot order, however, it is necessary to build a UEFI-capable Quirky Unicorn USB stick. <br /> <br /><b>UEFI-capable Linux</b> <br />I am starting from scratch here, haven't got a clue. This is a great beginner's guide: <br /><a href=></a> <br /> <br />To get things rolling, it seems that I need to make some changes in the kernel. I have recompiled the 3.16.6 Linux kernel with these changes: <br /> <br /><pre><code>Processor type and features <br /> [*] EFI runtime service support <br /> [ ] EFI stub support <br /> <br />Firmware drivers <br /> EFI (Extensible Firmware Interface) support <br /> <m> EFI variable support via sysfs</code></pre>< <br /> <br />...they are two different sections, you have to enable the first, before the second one becomes available. The second one provides a module named "efivars". <br /> <br />The new .config file: <br /><a href=></a> <br /> <br />The new PET (27MB): <br /><a href=></a> <br /> <br />I am planning to install QU on a USB stick, using Syslinux 6.x, as the 6.x series supports UEFI booting. <br />There is a utility needed as part of the setup process, "efibootmgr", that requires the kernel "efivars" module. <br /> QU: Service Pack 6.2.1 Linux If you have Quirky Unicorn 6.2 installed, an upgrade to version 6.2.1 is now available. <br /> <br />Version upgrades are available as Service Pack PET packages. <br /> <br />You can check for availability of a version upgrade at any time, by going to the menu: <br />Filesystem --> Quirky Version Upgrade Manager <br /> <br />Alternatively, the Quirky Package Manager will automatically check if an upgrade is available, whenever you start the Package Manager (assuming there is an Internet connection). <br /> <br />Or, you can just download the Service Pack, and just click on it to install it. Here it is (10.1MB): <br /><a href=></a> <br /> <br /> is a bit big because Ubuntu updated some DEBs in the last day or so before the final release of 14.10, and my Quirky Unicorn 6.2 was created just before that. <br /> <br />If you have the "devx" 6.2 PET installed, there is also a Service Pack for that (273KB): <br /><a href=></a> <br /> <br />Or, if no "devx" PET already installed, you can install the full 6.2.1 PET (after upgrading to 6.2.1 of course) (121.5MB): <br /><a href=></a> <br /> Puppy Linux 6.0 "Tahrpup" released Linux We have another official Puppy Linux release! <br /> <br />Since I retired from developing Puppy Linux early in 2014, keen members of the Puppy-community forked my Woof Puppy-builder, naming it woof-CE. <br /> <br />Since then, 01micko has been active with a Puppy built from Slackware packages, named "Slacko Puppy", latest is 5.7 with a new release expected soon. <br /> <br />The guys have also been working on another pup, built from Ubuntu Trusty Tahr binary packages, under the leadership of Phil Broughton (666philb in the Puppy Forum), and this has now reached release status. It is named "Tahrpup" and is version 6.0. <br /> <br />Tahrpup is an official release of Puppy Linux for those who would like the package manager to have compatibility with the large collection of packages in the Ubuntu repository, and able to install and use most of them. <br />Some default package choices, such as VLC, UI and system operations, are different from the Slacko Puppy build, which may be other reasons users might choose Tahrpup. <br /> <br />Here is the Forum thread with the announcement: <br /><a href=></a> <br /> <br />Also announced here, with release notes: <br /><a href=></a> <br /> <br />Download from ibiblio: <br /><a href=></a> <br /> <br />As you can see, there is a choice of PAE or no-PAE kernel, both of the live-CD iso files are 199MB (if in doubt, choose the latter). <br /> <br />Direct links: <br /><a href=></a> <br /><a href=></a> <br /> <br />There is also the "devx" SFS (114MB): <br /><a href=></a> <br /> <br />A European mirror that you might find faster: <br /><a href=></a> <br /> <br />Forum thread for bug reports: <br /><a href=></a> <br /> Quirky Tahr to Unicorn upgrade Linux If there is anyone out there with Quirky Tahr 6.0.5 installed, you are welcome to give this PET a go. It is a Service Pack to upgrade to Unicorn 6.2. It is a massive upgrade, hence the size. <br /> <br />Upgrade PET (267.6MB): <br /><a href=></a> <br /> <br />There is also a readme: <br /><a href=></a> <br /> <br />If, and only if, you have the Tahr "devx" PET installed, that should also be upgraded (): <br /><a href=></a> <br /> <br />I had not actually considered Service Packs to upgrade between a "series", such as from Tahr to Unicorn, but I have now modified the 5create-service-packs and 5create-devx-service-packs scripts in the Quirky build system to be able to do this. <br /> Laptop with Windows 8.1 General A friend who works in a remote town, entrusted me to purchase a cheap laptop for her, and bring it when I next come to visit. <br /> <br />So, today I found an inexpensive sale-price laptop at Dick Smith, an Asus X551MAV-BING-SX391B, with 15.6inch screen, 4GB RAM, 500GB HD, USB3 and DVD burner, for AU$348. <br /> <br />First time that I fired it up, I was somewhat bamboozled by the Metro user interface -- this is the first time that I have used Windows 8.x. <br /> <br />Fortunately, I found this site, which explains how Windows 8.1 can be restored to a reasonably sensible desktop: <br /><a href=></a> <br /> <br />Thank goodness. There are all kinds of peculiarities in the 8.x UI, that seem either confusing or unnecessary. I have now set it up so that my friend will feel comfortable using it -- as she is only familiar with XP and 7. <br /> <br />She also entrusted me with her Microsoft Office 2010 DVD, a legal one, with product key, and I installed that. I wondered whether there might be issues with installing a 2010 version of Office in Windows 8.1, but no problem, it runs fine. <br /> Quirky build system uploaded Linux The Quirky build system used to be Woof, from the days when I developed Puppy. Then I forked Quirky, and redesigned/stripped-down Woof, now just call it the Quirky build system. <br /> <br />It isn't on any online version control system, just on my laptop, and I upload a tarball sometimes. <br /> <br />So, here is the latest, as at 2014-10-25, used to build Quirky Unicorn 6.2. <br /> <br />Download from here (18.8MB): <br /><a href=></a> <br /> <br />There is also a brief readme: <br /><a href=></a> <br /> <br /> should also be added to that readme, that the tarball be expanded in a Linux partition, with sufficient free space (10GB should be enough). <br /> Quirky Unicorn 6.2 released Linux Yeah, why not, seems to be working OK for me! This is the first of the "Unicorn series" of Quirky 6.x. <br /> <br />The full announcement and release notes are here: <br /><a href=></a> <br /> <br /> will also find download links there. <br /> <br />Though, the folder on ibiblio that has relevant files is here: <br /><a href=></a> <br /> <br />And mirrored here: <br /><a href=></a> <br /> <br />If you want to see the full list of packages in QU 6.2: <br /><a href=></a> <br /> <br />The source, patches and scripts used to compile the kernel: <br /><a href=></a> <br />(user: p#up#py password: l#in#ux) <br /> <br />Forum thread for feedback: <br /><a href=></a> <br /> New Puppy home page? Linux There is a problem as I am not updating <br /> <br />There is some discussion about Puppy home alternatives: <br /><a href=></a> <br /> <br />Raffy is the main guy to make a decision, a very long-established Puppy fan and supporter, who has established his credentials over many years. <br /> <br />Raffy already has control over the content of (as well as others, as it is a wiki). <br /> <br />If Raffy suggests where should be redirected to, I will seriously look at that. <br /> <br />However, is a problem. It is the primary domain that I used when registering my account with, and all my domains, for example, live on the that hostgator account. <br /> <br />I don't know/think hostgator will allow to be taken out of its primary role in the account. Maybe they can, or maybe I would have to register a new account, with say as the primary domain, and port everything over. <br /> <br />I haven't asked hostgator about this yet. <br /> Quirky6: missing PETs Linux Testing Quirky Tahr 6.0.5, bobtron reported that the Package Manager failed to download the "cursor_themes" PET package: <br /><a href=></a> <br /> <br />I have been reading that thread to find out what bugs have been encountered with the Quirky 6.0.x series, including Quirky Tahr. <br /> <br />Yes, /root/.packages/DISTRO_PET_REPOS has variable PET_REPOS, that is supposed to have the URLs for the PETs, however it is broken for some PET repos, such as the "noarch" PETs. <br /> <br />I have fixed this for Quirky Unicorn. <br /> USB_EHCI_HCD module loading order Linux Puppy Forum member ETP has created Blue Pup, based on Quirky Tahr. Looks great. <br /> <br />One problem that has come up is the wrong order of module loading: <br /><a href=></a> <br /> <br />The thing is though, modules uhci_hcd and ohci_hcd are not modules, they are built-in to the kernel. <br /> <br />The modules that are complaining, are fubh200_hcd and fotg210_hcd. <br /> <br />Here is some kernel documention: <br /><a href=></a> <br /> <br />Current .config for 3.16.6 kernel: <br /><pre><code># USB Host Controller Drivers <br /># <br />CONFIG_USB_C67X00_HCD=y <br />CONFIG_USB_XHCI_HCD=y <br />CONFIG_USB_EHCI_HCD=y <br />CONFIG_USB_EHCI_ROOT_HUB_TT=y <br /># CONFIG_USB_EHCI_TT_NEWSCHED is not set <br />CONFIG_USB_EHCI_PCI=y <br />CONFIG_USB_EHCI_HCD_PLATFORM=m <br />CONFIG_USB_OXU210HP_HCD=y <br />CONFIG_USB_ISP116X_HCD=y <br />CONFIG_USB_ISP1760_HCD=y <br />CONFIG_USB_ISP1362_HCD=y <br />CONFIG_USB_FUSBH200_HCD=y <br />CONFIG_USB_FOTG210_HCD=y <br />CONFIG_USB_OHCI_HCD=y <br />CONFIG_USB_OHCI_HCD_PCI=y <br />CONFIG_USB_OHCI_HCD_PLATFORM=y <br />CONFIG_USB_UHCI_HCD=y <br />CONFIG_USB_U132_HCD=m <br />CONFIG_USB_SL811_HCD=y <br /># CONFIG_USB_SL811_HCD_ISO is not set <br />CONFIG_USB_SL811_CS=m <br />CONFIG_USB_R8A66597_HCD=y <br />CONFIG_USB_WHCI_HCD=m <br />CONFIG_USB_HWA_HCD=m <br /># CONFIG_USB_HCD_BCMA is not set <br />CONFIG_USB_HCD_SSB=m <br /># CONFIG_USB_HCD_TEST_MODE is not set <br /></code></pre>< <br /> <br />Well, I guess I could recompile the kernel with this line "CONFIG_USB_EHCI_HCD_PLATFORM=m" changed to "y". <br /> <br />I'll give that a go. <br />, no, I take that back. fusbh200_hcd and fotg210_hcd are both builtin, so I don't see what the problem is. <br />There are no modules to load, so no question of incorrect order. <br /> <br />Internal handling of the interfaces is entirely up to the kernel. It is out of my hands. <br /> QU: system utilities updated Linux I updated QU to L18L's momanager 20140326 PET package. <br /> <br />Actually, I downloaded, but found that it has a broken pet.specs file, so fell back to the older one that I had downloaded earlier. <br /> <br />I also got L18L's latest langpack_de 20141007. <br /> <br />I found langpack_it-20141015, there was a choice, chose the one supposed to work on precise, wary, etc. <br /> <br />Note, my original intention was that there would only be one langpack for a language, for all Puppy flavours. Differences could be taken care of within the langpack. <br /> <br />BaCon BASIC compiler updated to version 3.0.2beta. <br /> <br />f2fs-tools now 1.4.0. <br /> <br />usb-modeswitch now 2.2.0 and data is 20140529. <br /> <br />I don't intend to make under-the-bonnet changes before the first release of QU. This is really just shaping up to be a major kernel, utility and application upgrade, relative to Quirky Tahr. <br /> <br />I do have plans to improve the infrastructure, for example the "audit" mechanisms, but will probably get into that later. <br /> QU: peasy PETs Linux I have updated these peasy* PETs created by rcrsn51: <br /> <br />peasypdf 3.1b <br />peasydisc 3.2 <br />peasyglue 1.8 <br />peasyport 1.9 <br />peasyprint 2.7 <br />peasyscale 1.6b <br />peasyscan 2.7 <br />yassm 2.6.5 <br />maag 1.6 <br /> <br />maag, a utility to animate GIFs, was not in Quirky Tahr, so this is making a debut in Quirky Unicorn. <br /> QU: themes, PETs Linux I have decided on a green theme for QU. <br /> <br />I found a desktop icon set named "green glow" from the Puppy4 days. If anyone knows who created that, let me know. <br />It needed some changes of icons, some dropped, some added, and I created a new PET. <br /> <br />I looked through zigbert's PETs to see what needed updating. <br /> <br />Quirky Tahr has Aqualung, not Pmusic, but I will bring back Pmusic for QU, except have to use the old version 3.3.0, as still using gtkdialog 0.8.3. <br /> <br />Same problem with Pburn, have to stay with 3.7.18, as QU is using the cdrkit DEB package. <br /> <br />However, I have upgraded Pfilesearch to 1.35, Pschedule to 1.1.5 and Ptiming to 1.0.3-1. <br /> <br />Tempestuous used to maintain 915resolution, and I noticed that my PET is not his latest. Have upgraded to "patch20120521". <br /> <br />Note, 915resolution is for widescreen (non-VESA-standard) screens with Intel video chip, however, is not actually needed with the Xorg Intel driver. It is however needed for framebuffer, Xorg vesa, or kdrive X drivers. <br /> <br />I have downloaded the latest PETs from rcrsn51, will update my PET database tomorrow. <br /> QU: kernel, JWM, FreeOffice Linux I have compiled the 3.16.6 Linux kernel for QU (Quirky Unicorn). <br /> <br />I recently saw this: <br /><a href=></a> <br /> <br />That is, SoftMaker Office for Android, but with the full traditional UI. Now, that really is intriguing! <br /> <br />Anyway, I got the idea of putting FreeOffice 2012, the free version of SoftMaker Office, into QU. Consequently, I have created a PET. <br /> <br />FreeOffice is very nice, but requires a license key to use. I have setup the PET so that there is link to the SoftMaker website to acquire the license key. <br /> <br />When I first used FreeOffice, all dialog windows where truncated on the right side. This bug has also been reported on the Puppy Forum (with snapshot): <br /><a href=></a> <br /> <br />It turned out to be a bug in JWM, so I have updated to JWM revision 976, now FreeOffice dialog boxes are OK. <br /> Quirky Unicorn progressing Linux Just a short note. <br /> <br />I fixed the network tray applet. The source required "return 1;" in the timer function (any non-0 value), otherwise a zero got returned which caused the timer to stop operating. <br /> <br />Cups (the cupsd daemon actually) has a dependency on a systemd library, that I was loath to put into my build. I tried recompiling cups, but couldn't get it to print, or rather it did once, then got "filter failure" and I couldn't figure out what it was that I had previously done right. <br />Yeah, well it is precisely this endless cycle of upgrade headache that I don't want to get back into again. <br /> <br />So, I used cups from Quirky Tahr, a downgrade from version 1.7.5 to 1.7.1. Printing now works fine. <br /> <br />I compiled the latest SeaMonkey, version 2.30. <br /> Quirky Unicorn coming Linux I mentioned recently that I might release a "Christmas Special" Quirky. <br /> <br />Well, I have decided to do it. <br /> <br />I am right now running "Quirky Unicorn", built from Ubuntu 14.10 beta2 Utopic Unicorn DEB packages. <br /> <br /><img src= /> <br /> <br />I would like to acknowledge where I have "borrowed" the above image from (a free iPad/iPhone game): <br /><a href=></a> <br /> <br />I will probably release Quirky Unicorn before Christmas. Especially as Ubuntu 14.10 is due for release on October 23, 2014. <br /> <br />A pleasant experience, this is the first bootup, and everything so far is working, except the network tray icon is showing the network as disconnected, whereas the network is actually working. <br /> <br />I intend to improve a few things in the Quirky build-system, and update many PET packages. <br /> <br />Any feedback can be provided via the Contact Me link above. <br />I probably should create a thread in the Puppy Forum. <br /> Galaxy Note 4 bend test General Ha ha, I expected Samsung to take full advantage of the iPhone 6 #bendgate, and here it is: <br /> <br /><a href=></a> <br /> <br />The "butt test" is quite amusing. <br /> <br />Except not quite realistic, as the bending forces in the back pocket are more likely to be more of a twisting force, or more applied on one side than the other. <br /> <br />It is the force applied on one side that is the downfall of the iPhone 6, due to weakness near the frame cutout for the buttons. <br /> <br />That situation has not yet been tested for the Note 4. <br /> Note 4 "clever" advert General Well, you will go either way, either think this is very clever, or you might cringe right through: <br /> <br /><a href=></a> <br /> <br />A couple of people I know, who have seen it, reckon it is brilliant. One of those people is employed in marketing, and told me that this video is superb "brand awareness" for the Note 4. <br /> <br />it has been suggested that Samsung might split it up into sections, for screening on TV. <br /> iPhone "bendgate" saga General I have been following this closely. I was wondering how Apple is handling this in the background, in "damage control" mode. <br /> <br />Here is one answer: <br /><a href=></a> <br /> <br />I expected this. Media outlets that are dependent on Apple in some way, either with a pro-Apple stance or in receipt of advertising, or other favours from Apple, I would expect to give very muted coverage of #bendgate, even no coverage. <br /> <br />In the meantime, Apple will be frantically redesigning the case, but not after millions have been produced. <br />Also, I expect that some Apple employees will find their careers at Apple come to a sudden end, as scapegoats are sought. <br /> <br />A Samsung Galaxy Note 3 was also tested in the video -- it is interesting because the Note 3 is all-plastic, whereas the Note 4 has a metal rim -- meaning that the Note 4 might not "spring back" quite so well -- which will be funny, as Samsung have finally bowed to consumer pressure for a metal phone, partly anyway, when it might turn out that technically plastic is a better material to use. <br /> <br />Sorry that this blog still has comments turned off (for security reasons), but a comment can be forwarded via the "Contact Me" link above. <br /> Solar power page updated Light Solar Power is the first page of my "traveling light" series. <br /> <br />I recently acquired the Voltaic 6W solar panel and V15 power bank (battery) kit, and have tested it and updated my solar power page. <br /> <br />The URL has changed. Please go here: <br /> <br /><a href=></a> <br /> <br /> Traveling light General I have been writing some web pages on the theme of "traveling light". <br /> <br />I have been hiking in the bushland near Perth, Western Australia, camping in a tent, and having fun with trying to make my backpack as light as possible. <br /> <br />So far I have only uploaded one page, on the electrical and electronic requirements: <br /> <br /><a href=></a> <br /> <br />...consider that to be the first draft of that page. <br /> I am retired Linux I announced earlier in this blog that I am retired from Puppy Linux development, however I am still receiving Puppy-related questions via the Contact Me link at top of this blog. <br /> <br />This is happening because some people are not aware of my retired status. <br /> <br />Please direct all questions to the Puppy Linux Forum: <br /> <br /><a href=></a> <br /> <br /> will find there, many guys actively developing Puppy. <br /> <br />Regarding Quirky, I might be tempted to do another one, as there were some things that I intended to do but didn't. Maybe a "Christmas Special"? <br /> <br />Note, I am using the rather old Raring Puppy, version 5.6.90, every day on my laptop. Not for any particular reason, it just runs nice. <br /> Build system for Quirky Linux For anyone who is interested, here is the build system for Quirky: <br /> <br /><a href=></a> <br /> <br />This is forked from Woof, with quite a few changes. For example, no PUPMODEs. I also made various refinements that are not in Woof, such as eliminatiing the multi-arch symlinks (ex linking /usr/lib/i386-linux-gnu to /usr/lib), which could be ported to woof-CE if desired. <br /> <br />There are some docs in this blog about these changes. <br /> Comments disabled General <br />Comments have been disabled for this blog. <br /> Fix for apostrophe character General Christina (forum member efiabruni) is the author of pe_pplog, which I use for the blog that you are now reading. <br /> <br />There was a bug discovered recently. If the apostrophe character (') was used in comment titles, the comment was corrupted. <br /> <br />Efiabruni posted a fix: <br /><a href=></a> <br /> <br />...the apostrophe fix is in files and blog/, and is actually found in both of the patches: <br />blog/ <i>subroutine to replace a ' with &apos</i> <br /> <i>Disabled bbcode on comments for security reasons</i> <br /> <br />The latter patch also disables bbcode on comments, however I was uncertain about that and did not implement it. <br />I will need more feedback as to what the security risk actually is. <br /> Kernel 3.12.11 with zram support Linux I was surprised that the 3.12.x kernel used in Quirky Tahr does not support zram. This is a compressed filesystem in RAM. <br />I had enabled it in some earlier kernels. It seems to have acquired a new dependency, that caused it to be de-selected when I compiled the 3.12.x kernels. <br /> <br />I have recompiled the 3.12.11 kernel, with these changes: <br /> <br /><pre><code>have added support for zram, builtin. <br />have changed aufs from module to builtin. <br /> <br />device drivers --> <br /> staging drivers --> <br /> [*] memory allocator for compressed images (CONFIG_ZSMALLOC) <br /> <*> compressed ram block device support (CONFIG_ZRAM) <br /> <br />file systems --> <br /> miscellaneous file systems --> <br /> <*> aufs support</code></pre>< <br /> <br />I want zram support, as I am playing with an idea for building Quirky as a live-CD. Don't know how far I will go with this, just thinking about a live-CD that boots up and runs totally in ram, using zram. <br /> <br />Note, not currently thinking about using aufs, even though have changed it to builtin. <br /> <br />The PET (25.2MB): <br /><a href=></a> <br /> Slacko Puppy 5.7 Linux There is a new Puppy released! <br /> <br />Mick (01micko on the Puppy Forum), is the coordinator of the Slacko series, built with Slackware binary packages. <br /> <br />The announcement on the Forum: <br /><a href=></a> <br /> <br />Download links are given on Mick's site: <br /><a href=></a> <br /> <br />Full announcement and release notes: <br /><a href=></a> <br /> <br />Extra notes: <br /><a href= <br />> <br /></a> <br /> <br />Feedback and bug reports here: <br /><a href=></a> <br /> New popup utility Linux I have always wanted to write a "popup" text-message utility from scratch, in C or BaCon, that is very efficient and does all of the various things that I would like a popup utility to do. <br /> <br />In Puppy and Quirky we have some popups that use gtkdialog, but I have always considered this to be less-than-satisfactory -- for example, 'yaf-splash' (gtkdialog-splash) and 'pupmessage'). <br />There are others of course, such as xmessage, gxmessage, Xdialog, yad, etc. (and of course gtkdialog), most of which can do a lot more than simple information-popup, but are not really optimal for simple message-popup. <br /> <br />So, I have written one, named 'popup', in BaCon. It is written with HUG, with some GTK function imports and some embedded C. It runs as a daemon, that is, as a separate process, and once started you can optionally send more controls (commands) and text to it -- not by stdin or whatever, but by writing to a file. <br /> <br />I had originally thought that 'popup' could watch the file for modifications using inotify, but soon decided that is not suitable, for various reasons. Now, the GTK timer function is used, called every 500 msec, which is also convenient as a "terminate=<number>" control can be sent to tell it to quit after so many seconds. <br /> <br />Anyway, showing how it works by example, here is an invocation: <br /># ./popup "name=bk1 background='#00ffff' placement=top-middle|This text allows Pango Text Attribute Markup Language, for example <b>bold</b>, <big>big</big>, <small>small</small>, <i>italic</i>, <tt>monospace</tt>" <br /> <br />Which looks like: <br /><img src= /> <br /> <br />Then this: <br /># echo "background='#ff0000' level=top flash=on writemode=append-newline|Now the message is on top layer and flashing, to draw attention" >> /tmp/popup_bk1 <br /> <br />The popup comes to top layer and background flashes: <br /><img src= /> <br /> <br />Then to terminate it: <br /># echo "terminate=now|" >> /tmp/popup_bk1 <br /> <br />To find out all that it can do, just type "./popup" and hit ENTER key, or "-h" or "--help" then ENTER. <br /> <br />I have uploaded the source code to the BaCon forum: <br /><a href=></a> <br /> <br />I have placed popup into the Quirky build system, but it is a generic utility that will work in any Linux, including puppies. <br /> pup_event utilities written in BaCon Linux /usr/local/pup_event/pup_event_frontend_d.bac and pup_event_ipc.bac are written in BaCon and were compiled with BaCon version 2.1.7 or earlier. <br /> <br />01micko reported recently that they do not compile with a later version of BaCon. He had to go back to a 2.1.x version compiler for his x86-64 Slacko Puppy. <br /> <br />Peter, the creator and maintainer of BaCon, found out the cause of the problem: <br /><a href=></a> <br /> <br />Peter has posted a fixed pup_event_ipc.bac, at the above link, that will compile with recent versions of BaCon. Puppy developers can use this in Woof. It should also be straightforward to fix pup_event_frontend_d.bac. <br /> <br />I will post this under the "Puppy" category, but it also applies to "Quirky". <br /> ODF back again? Ethos Microsoft almost killed off ODF many years ago, or rather managed to get it shoved into obscurity. <br /> <br />The UK Government is looking at making ODF a requirement, see here: <br /><a href=></a> <br /> <br />I have learned to be pessimistic, when idealism/altruism, well just plain common-sense, are up against big business. Will I be pleasantly surprised this time around? <br /> Childproofing Linux A "child-proofing application" is one of the pending ideas that I had for Quirky6. Now implemented. <br /> <br />The way that I intended this to work is you give a child (or spouse) Quirky on a USB stick. They can bootup on your computer, and can access the Internet, printer, scanner, optical drive, etc., but not your internal hard drives. <br /> <br />This is what the new childproofing system does. You can also childproof Quirky if installed in an internal hard drive partition, however the blocking mechanism works on an entire drive, so Quirky would have to be on a different drive to the one you want to block. <br /> <br />Some snapshots to show it in action. This is the "before" snapshot of the desktop: <br /><img src= /> <br /> <br />The Childproof Setup application is run from the Filesystem menu, and this is the first window: <br /><img src= /> <br /> <br />The final window has some technical description, so I won't publish that. But, after rebooting, here is the "after" snapshot: <br /><img src= /> <br /> <br />Note that the internal drives are disabled on a per-drive basis, however, I have also hidden the first partition of the Flash stick, using a different method. This prevents the child from poking around in the first 'boot' partition and potentially undoing the internal drive disabling. <br /> <br />The childproofing script gets erased after it has been run. <br /> <br />Of course, such blocking is really only for "friendly" users, not someone who wants to break into your hard drive, and especially not someone with technical Linux knowledge. The methods used, though, will probably stump most adult users from the general population. <br /> Kernel 3.12.11 Linux I have compiled the Linux kernel version 3.12.11 in Quirky Tahr. <br /> <br />I was playing with ideas for my next quirky idea, the "childproofing" of Quirky. <br /> <br />One technique involves disabling a drive by a kernel boot parameter. It used to be possible with the old "ide" drivers, but not after the move to the "libata" PATA/SATA drivers (that we now use). <br /> <br />However, a guy by the name of Robin Johnson wrote a patch for libata that reintroduces disabling of drives by a boot parameter. It is introduced here: <br /><a href=></a> <br /> <br />However, it got merged into the kernel at version 3.12.7, whereas our quirkies have been built with 3.12.6. <br /> <br />So, I have compiled the latest, 3.12.11. The PET (25.2MB): <br /><a href=></a> <br /> <br />This kernel will be in the next releases of Quirky Tahr and Quirky T2. <br /> <br />There is also the source PET (112.9MB): <br /><a href=></a> <br /> <br />Sources and build scripts are at: <br /><a href=></a> <br /> Quirky tweaks Linux A few changes here and there... <br /> <br />It was pointed out by a Quirky tester that the entire "Desktop" tab of the JWM Configuration Manager is not really needed, as choosing the wallpaper and GTK theme is provided via the main menu. So, it is removed. <br /> <br />Tahr has been built with JWM 819, whereas Quirky T2 with 876. I have changed Tahr to also use 876. <br /> <br />Tahr is built with Gparted 0.16.1 that was compiled in Precise Puppy. I have changed it to 0.16.2 that was compiled in Quirky T2. <br /> Hard reboot after X fail Linux Forum and blog member aarf was reporting on failure of X after upgrading Tahr 6.0 to 6.0.5. <br /> <br />I was testing the mechanisms for when X has failed, and discovered some problems. <br /> <br /><b>First bootup</b> <br />The first time that you boot a new installation, QuickSetup runs after the X desktop has started. if X is not working however, you won't see this application, so if you press the computer's Reset button (if it has one) or hold down the Power on/off button (usually for about 4 seconds), the computer will power-off, then you can restart it, and the Xorg Wizard will automatically run. <br /> <br />Except that the Xorg Wizard might not run. The problem is that QuickSetup (script /usr/sbin/quicksetup) writes to /var/local/quick-setup-test-success, but if this file has not flushed to the drive when the Power button causes a hard-shutdown, the file is lost. <br /> <br />All puppies have this problem, but I don't know if any of the variants/forks have addressed it. I did in Quirky, by placing a 'sync' immediately after writing that file in quicksetup. This caused a problem in Tahr 6.0.5, however, a very noticeable delay when booting off a USB2 stick before the QuickSetup window appears. <br /> <br />I don't want to flush just the one file, want to flush everything, so have now changed it to "sync &" to run as a separate process. <br /> <br /><b>Subsequent hard-reboot</b> <br />With subsequent bootups, there is a similar mechanism to handle hard-shutdowns. This is by file /root/.XLOADED, which is created in /usr/bin/xwin. If there is a hard reboot, xwin will see that X did not exit properly, and will popup a text-mode dialog asking if want to exit to commandline (and maybe run xorgwizard) or continue to startup X. <br /> <br />This may have the same problem with /root/.XLOADED not being flushed before the hard-power-down occurs. In this case, I put "fsync /root/.XLOADED" into xwin. <br /> <br />Tahr 6.0.6 will have these tweaks. <br /> Slacko Puppy 5.7beta Linux Slacko, our flagship Puppy distro, coordinated by 01micko, has reach beta status, and will be version 5.7 when released. <br /> <br />To help out with testing, go here: <br /><a href=></a> <br /> <br />Slacko is built from woof-CE, the new community-based fork of my Woof Puppy builder system (now retired). Discussion about woof-CE is here: <br /><a href=></a> <br /> Quirky Tahr 6.0.5 released Linux Another bugfix and incremental improvement since 6.0, which was released on January 30, 2014: <br /><a href=></a> <br /> <br />My blog has progress reports and announcements of 6.0.1, etc, and the Puppy Forum has a thread that describes many of the fixes in the releases since 6.0. <br />Since 6.0.4, some of the fixes are described from this page in the Forum: <br /><a href=></a> <br /> <br />Here are the release notes for 6.0.x: <br /><a href=></a> <br /> <br /><b>Download</b> <br />The main file to download (174.8MB): <br /><a href=></a> <br /> <br />And grab one of the installation scripts, '' or '' from here: <br /><a href=></a> <br /> <br />...note, if you have previously downloaded these scripts, please grab these latest, they have some changes. <br />A note for newbies: don't forget to right-click on these scripts after downloaded, and set the "execute" flags. <br /> <br />As the '' requires a very up-to-date Linux that is "f2fs-aware" (Precise Puppy 5.7.1 for example), and if you do not have such a distro installed, grab this instead... <br /> <br />Or, there is the ready-to-go 8GB image (180.2MB): <br /><a href=></a> <br /> <br /> can write this to a Flash drive from any running Linux or Windows, see the notes here... <br /> <br />Read here if you require detailed install instructions: <br /><a href=></a> <br /> <br /><b>Compiling</b> <br />For those who wish to compile applications from source, there is the 'devx' PET (130MB): <br /><a href=></a> <br />Kernel source PET (115.2MB): <br /><a href=></a> <br /> <br /><b>Service Packs</b> <br />If you already have Quirky Tahr 6.0.x installed, then there is a <i>Service Pack</i>. This is a relatively small file to upgrade. <br />Go to the Filesystem menu and choose <i>Quirky Version Upgrade Manager</i>. <br />Or, if you run the <i>Quirky Package Manager</i>, it will automatically determine that Service Packs are available and offer to install them. <br /> <br />The Service Packs, for the main Tahr filesystem upgrade and the devx (if 6.0.x devx PET is already installed) are also available by direct download from here: <br /><a href=></a> <br /> <br /><b>Feedback</b> <br />Ongoing discussion of the Quirky6 series is here: <br /><a href=></a> <br /> <br /><b>Comments</b> <br />6.0.5 introduces a third recovery mechanism, see here: <br /><a href=></a> <br />...however, you won't get that mechanism if do an upgrade with Service Packs. It is not an essential thing to have, just a "nice thing" for possible future recovery and installation mechanisms. <br /> <br />I tested the Chromium web browser, installed via the Package Manager from Ubuntu repo, works nice. That is one thing that has been fixed since 6.0.4. <br /> <br />6.0.5 has SeaMonkey 2.24, that I compiled in Quirky Tahr, and one thing that I noticed is that it starts up faster than the 2.23 official binary. Hasn't crashed on me yet, either! <br /> Chromium, lsb_release Linux The Chromium web browser is available in the Ubuntu repository, for Quirky Tahr, but a tester has reported that it does not work. <br /> <br />I have figured it all out, and got it to work. I modified /usr/local/petget/, to perform various fixes. <br /> <br />I also modified the 'chromium' template in the Quirky-build-system, to create a Chromium that will work. <br /> <br />I noticed, when start Chromium from commandline, that it complains about missing 'lsb_release' executable. <br />Ubuntu has this in the 'lsb_release' package, however, it is a Python3 script. Therefore, I have created a Bash script, /usr/bin/lsb_release, that does the equivalent. I also created /etc/lsb-release, as some apps might look for it. This is done in the Quirky-build-system. <br /> <br />I also got Chromium to work as spot, and the Security and Login Manager will now offer Chromium as an option to run as spot. <br /> Quirky: another recovery mechanism Linux Quirky already has two recovery mechanisms: <br /> <br /><li>Uninstalling of packages is very clever, rolling back to the situation before the package was installed. Or, retaining files installed by later-installed packages.</li> <br /><li>The snapshot mechanism will roll the entire installation back to when the snapshot was taken.</li> <br /> <br />I had a third mechanism in mind, and have only now created the infrastructure for it. I want to be able to do two different things: completely rebuild a broken installation, and write a Quirky Installer application that will install your currently-running Quirky to any other drive or partition. <br /> <br />The install scripts, '' and '', now convert the downloaded file, for example 'tahr-6.0.5.usfs.xz' into a normal Squashfs file 'tahr-6.0.5.sfs' and store it at /audit/reference in the new installation of Quirky. <br /> <br />Note, if the install scripts are not used, for example the 'tahr-6.0.5-8gb.img.xz' file is used to write directly to a Flash stick, then there will be nothing in /audit/reference. In that case, a special "reference snapshot" is made at first boot, which creates /audit/reference/tahr-6.0.5.sfs. <br /> <br />The Package Manager now saves all installed packages in /audit/packages, and deletes them if a package is uninstalled. <br /> <br />This is just the infrastructure, applications to do something with it have yet to be written. <br /> Why is the tea darker? Ethos I drink green tea, boiled in water, nothing else added. For awhile now, I have been boiling it, allowing to cool, then pour into bottles and put in the refrigerator -- a refreshing cool drink -- it is summer here. <br /> <br />I had recently been using tap water, despite years of drinking only spring water or rain water. Then a few days ago, I decided to go back to using spring water -- no access to rainwater these days. <br /> <br />That is when I noticed something. I always boil the tea twice, allowing to stand for a short time between boils, to extract more from the tea leaves. I followed this exact same regimen with the spring water, and this is the result: <br /><img src= /> <br /> <br />...the tea on the left is boiled in tap water, on the right in spring water, "Aussie Natural" brand. <br /> <br />So, I wondered, was the tap water causing more to be extracted from the tea leaves, or was there some kind of chemical reaction between the chemicals in the tap water and the tea leaves? <br /> <br />I conducted another experiment, boiled the tea in spring water <i>three</i> times, allowing to stand over an hour between boils, and this is the result: <br /><img src= /> <br /> <br />...the bottle on the extreme right has been boiled three times in spring water. Darker, but still nowhere near the tap water. <br /> <br />So, I am left wondering. A bit of a google around did not really reveal why the tea boiled in tap water is darker. <br /> <br />I am using Nerada organic green tea: <br /><img src= /> <br /><a href=></a> <br /> <br />This is what Aussie Natural have to say about their spring water: <br /><a href=></a> <br /> Fatdog64 version 630 Linux Fatdog64 originally started life compiled from source in T2, though they are probably now updating by compiling within Fatdog. <br />Fatdog forked from Puppy awhile back, so is still very Puppy-like but with many changes implemented by the authors, kirk and james. Some of their great ideas found there way back into Puppy, such as running Internet applications as user 'spot' -- well, technically, the idea did originate in Puppy, but only got fully implemented in Fatdog. <br /> <br />Probably the single most important feature of Fatdog64 is that it is compiled for a 64-bit x86 CPU, which is just about the situation with all new PCs these days. Running a distro compiled for 64-bit, as opposed to x86 32-bit, should give a tad more execution speed, plus you get access to RAM beyond 4MB without having to do that "pae" thing to the Linux kernel. <br /> <br />Anyway, the developers have just released version 630, see Forum announcement: <br /><a href=></a> <br /> <br />Fatdog has its own website, and here is the FAQ on that site: <br /><a href=></a> <br /> Comments enabled again General Those who have been monitoring my blog will know about the trouble with a perverted individual who has posted pornographic content to this blog. <br /> <br />Efia, the author of pe_pplog, very kindly implemented email registration, that I announced recently: <br /><a href=></a> <br /> <br />However, the offending individual then used a "disposable" email address. <br /> <br />Efia has come to the rescue again, and added some extra security features, including blocking of disposable email addresses. <br /> <br />We do have some extra security measures that we can take, if still needed. <br /> <br />Anyway, registration is back, as is posting comments, and the Contact Me page works again. <br /> SeaMonkey 2.24 for Tahr Linux Yay, I finally have been able to compile SeaMonkey in Quirky Tahr <img src=/news/images/smilies/happy.png /> <br /> <br />Previously, trying to compile 2.23 on my latest laptop (Acer 5742G), it would crash -- actually turn off the laptop, instantly -- weird, it happened part-way through compiling. Reboot, then recommence compiling, after awhile got a javascript-related error. <br /> <br />This time, I used my older Acer laptop. Somewhat more modest specs, with only 512MB RAM, but it has been a trusty workhorse for many years, and it didn't fail me this time either. SM 2.24 compiled successfully, runnning Quirky Tahr 6.0.4, booting off a USB Flash stick. <br /> <br />Here are the PETs (31.3MB, 28.8MB): <br /><a href=></a> <br /><a href=></a> <br /> <br />These PETs will be in the next build of Quirky Tahr (probably 6.0.5), and Sylpheed (email and news client) will be removed, however, qutIM (multiprotocol chat client) will be retained (and will be launched via the 'chat' icon on desktop). <br /> Quirky Tahr 6.0.4 released Linux QT 6.0.3 has two bugs: <br /> <br /><b>1. </b>Printing is broken. <br /><b>2.</b> Gstreamer 'dev' components missing. <br /> <br />The latter concerns those who want to compile an application from source, that requires gstreamer (audio/video libraries). <br /> <br />6.0.4 is only released as <i>Service Packs</i>. That means, you need to install 6.0.3, and the Service Packs will upgrade the installation to 6.0.4. <br /> <br />Quirky automatically looks online for Service Packs whenever you start the Quirky Package Manager, or you can do it via the 'Quirky Version Upgrade Manager' in the 'Filesystem' menu. <br /> <br />There are two Service Packs, for the main installation, and for the 'devx' PET (if installed). <br /> Quirky Tahr 6.0.3 released Linux Another bug-fix release of Quirky Tahr 6.0! <br /> <br />Full announcement and release notes here: <br /><a href=></a> <br /> <br />The main file to download (174.2MB): <br /><a href=></a> <br /> <br />And grab one of the installation scripts, '' or '' from here: <br /><a href=></a> <br /> <br />Or, there is the ready-to-go 8GB image (179.5MB): <br /><a href=></a> <br /> <br />Read here if you require detailed install instructions: <br /><a href=></a> <br /> <br /><b>cups bug</b> <br />After starting to upload 6.0.3, I discovered that the Ubuntu (or Debian) developers have fragmented the 'cups' package still further. They have done this in the last few days, split out two new DEBs: <br /> <br /><i>cups-filters-core-drivers <br />cups-core-drivers</i> <br /> <br />These are missing from 6.0.3, and you may need to use the Package Manager to install them, before printing will work. <br /> <br />These packages have split out files from /usr/lib/cups/filter: <br /> <br /><i>cups-filters-core-drivers: <br />pdftoipprinter pdftopdf pdftops pdftoraster rastertopclx <br /> <br />cups-core-drivers: <br />commandtops gziptoany pstops</i> <br /> <br /> <br />I don't know why they have done this, but anyway, we have to live with it. <br />Quirky Tahr is built from Ubuntu Trusty Tahr DEBs, and these are only at alpha stage, so we have to expect changes. <br /> <br /><b>Trusty Tahr</b> <br />Ubuntu Trusty Tahr, version 14.04, is due for release on April 17, 2014. <br /> <br />As that date draws closer, the DEB packages should start to freeze-up, and we won't get surprises like the above. <br /> <br />It will be good, Quirky Tahr should be in a very mature state by then! <br /> <br />I might release Quirky Tahr 6.1 to coincide with Ubuntu's official release of 14.04. <br /> Comments are back General I would like to thank efiabruni (Forum name) for her kindness in responding to my request for more security features for her pe_pplog, the blog that I am using. <br /> <br />efiabruni has been posting in this Forum thread: <br /><a href=></a> <br /> <br />Registration is now required, and a valid email address must be provided, to which a password is sent. <br /> <br />The username and password may then be used to post comments. <br /> <br />There is however one catch: the script doesn't support setting your own password, so you have to remember the one you are provided with. If you forget it, you will have to register under a different username. <br />The password is a number, not easy to remember, so needs to be written down. <br /> <br />User banning is now by email address. So, although someone can register multiple usernames with the same email address, they will all get banned if the email address is banned. <br /> <br />Also, only registered users can use the Contact Me page. <br /> <br />efia's latest pe_pplog code is here: <br /><a href=></a> <br /> <br />Note, I had to erase all prior comments. I will gradually put some back in. <br /> LD_LIBRARY_PATH removed Linux Puppy has always had LD_LIBRARY_PATH exported in /etc/profile, and I have had the same thing in Quirky. <br /> <br />/etc/profile builds a LD_LIBRARY_PATH environment variable that (hopefully) has all paths to system-visible shared libraries. <br />When an application needs to load a shared library, the paths in LD_LIBRARY_PATH are searched first, failing that, /etc/ is used (which is generated from /etc/ by the utility 'ldconfig'). <br /> <br />We have always done it this way, but it is slow. <br /> <br />Puppy was usually built with 'ldconfig' in the devx SFS only, so /etc/ and /etc/ never got updated when a package was installed or removed. <br />Hence the dependence on LD_LIBRARY_PATH. <br /> <br />The next Quirky (which will be Tahr 6.0.2) is going to have 'ldconfig' in the main f.s., not in the devx. <br />I have modified /usr/local/petget/ and to update /etc/ and /etc/ when a package is installed or uninstalled (if it has system-visible shared library files). <br /> <br />I have modified /etc/profile to not export LD_LIBRARY_PATH. <br /> <br />Hopefully this might make a slightly faster application startup time. <br /> <br />The only thing that I don't like is that Ubuntu's 'ldconfig' is compiled statically with glibc, and is about 800KB. I could probably do a dietlibc or uclibc static compile and make a PET. <br /> Quirky Tahr 6.0.1 released Linux This is a bug-fix release of Quirky Tahr 6.0, which was announced only a few days ago: <br /><a href=></a> <br /> <br />Some of the differences between 6.0 and 6.0.1 are outlined here: <br /><a href=></a> <br /> <br />The full 6.0 announcement and release notes: <br /><a href=></a> <br /> <br />The 6.0.1 file to install, tahr-6.0.1.usfs.xz or tahr-6.0.1-8gb.img.xz, is here, please read the install instructions in the above link: <br /><a href=></a> <br /> <br />The full 'devx' PET (100.4MB): <br /><a href=></a> <br />Kernel source PET (115.2MB): <br /><a href=></a> <br /> <br />If you already have Quirky Tahr 6.0 installed, then there is a <i>Service Pack</i>. This is a relatively small file to upgrade, though in this case it is a bit big, about 30MB, as the web browser changed from QupZilla to SeaMonkey and there are extra gstreamer packages. <br />Go to the <i>Filesystem</i> menu and choose <i>Quirky Version Upgrade Manager</i>. <br /> <br />The Service Packs, for the main Tahr filesystem upgrade and the devx (if 6.0 devx PET is already installed) are also available by direct download from here: <br /><a href=></a> <br /> <br />Ongoing discussion of the Quirky6 series is here: <br /><a href=></a> <br /> Quirky Tahr 6.0 released Linux Another amazing release in the "Quirky6" series! A short introductory spiel: <br /> <br /><i>You have heard of <b>Trusty</b> Tahr, well this is <b>Quirky</b> Tahr, another exciting release in the "Quirky6" series of Quirky, a very quirky experimental Linux distribution. <br />Quirky Tahr is Quirky, with the same phenomenal upgrade/recovery features, optimisation for running in Flash memory, simplicity and ease-of-use, except built with Ubuntu Trusty Tahr binary DEB packages to provide compatibility with the large Ubuntu package repository -- which the Quirky Package Manager can install from. <br />Quirky 6.0, built from packages compiled in T2, started the ball rolling, and there were steady improvements, the latest release is 6.1.3 with 6.1.4 due out in a few days -- these accumulated improvements are in Quirky Tahr 6.0, plus a lot of debugging and refinement to get the DEB packages to "play nice" in the Quirky environment.</i> <br /> <br />Please read the main announcement and release notes here: <br /><a href=></a> <br /> <br />You can download the file 'tahr-6.0.usfs.xz' (154.4MB): <br /><a href=></a> <br /> <br />Then one of these scripts to install: <br /><a href=></a> <br /><a href=></a> <br /> <br />...the former requires running in a very up-to-date Linux distribution, that recognises the <i>f2fs</i> filesystem, and <i>f2fs-tools</i>, <i>syslinux</i> (and probably <i>mtools</i>) packages will need to be installed. <br />Amongst Puppy Linux releases, Precise 5.7.1 meets this requirement. <br /> <br />The latter script has easier requirements, f2fs is not (necessarily) required, however, you need to have a spare hard drive partition to install to. <br /> <br />If neither of the above suit you, to get started with Quirky you can download this image file, for a 8GB (or greater) USB Flash or SD-card (159.5MB): <br /><a href=></a> <br /> <br />If you a unfamiliar with the Linux commandline, or just want to read more first, the earlier Quirky release notes have more details on how to install: <br /><a href=></a> <br /> <br />If you would like to provide feedback, or read what others have to say, please go to this Forum thread: <br /><a href=></a> <br /> <br /><b>Known bugs</b> <br />There are some, not to serious. <br /><b>1.</b> The PPLOG personal blog (in the Personal menu category), a Perl script, does not work. <br /><b>2.</b> VLC multimedia player defaults to "/dev/dvd1" --change that in the Preferences to "/dev/dvd" to be able to play DVDs (then just plug in a DVD, click the disk icon when it appears on the desktop, and VLC will launch). <br /><b>3.</b> The "pet-tahr" repo in the Quirky Package Manager is not yet working. <br /> Quirky Tahr versus Quirky Linux A review of Quirky appeared recently: <br /><a href=></a> <br /> <br />It is a nice positive review, but note that there are a few incorrect statements -- but that is the normal situation with most reviews of Puppy that I have read, so it is to be expected with this new incarnation. <br />With Quirky, I might have to provide more basic educational introductions to clarify exactly how Quirky works. <br /> <br />Anyway, for those who have been following my blog, I have posted about <i>Quirky Tahr</i>, built with Ubuntu Trusty Tahr DEBs, and expect to upload that soon. <br /> <br />The original Quirky 6.0.x and 6.1.x, built from packages compiled in T2, is not going to go away. It is a good solid foundation to keep developing on. There is expected to be a 6.1.4 very soon. <br /> <br />Hmmm, maybe I should call the original Quirky6 <i>Quirky T2</i>? <br /> "reporting 5 8 10 75" Linux Testing Quirky Tahr, in /tmp/xerrs.log, there is this line that keeps periodically being appended: <br /> <br /><i>reporting 5 8 10 75</i> <br /> <br />Does anyone know what causes this? <br /> <br />My guess is that one of the tray applets does it. <br /> <br />It doesn't seem to serve any purpose, and I would like to get rid of it. <br /> <br />If you know the answer, kindly click the "Contact Me" above. <br /> Gnome dependency in GTK3 Linux I don't really want to use GTK3 apps, but in Quirky Tahr have some. I installed Evince, a PDF viewer, and it works (after installing a trail of deps), but gives this error at startup: <br /> <br /><i>** (evince:6307): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files</i> <br /> <br />I googles around, and found this: <br /><a href=></a> <br /> <br />So, I have put code into 3builddistro to export NO_AT_BRIDGE=1: <br /><code><pre>#140125 disable gtk dependency on a stupid gnome daemon... <br />#ref: <br />if [ -d rootfs-complete/usr/lib${xARCHDIR}/gtk-3.0 ];then <br /> echo 'export NO_AT_BRIDGE=1' > rootfs-complete/etc/profile.d/gtk3 <br />fi <br /></pre></code> <br /> <br />...that error message no longer occurs. <br /> <br />There is still a bug with Evince though, menu icons do not display. That is next on the to-do list. <br /> Another fix for Snapshot Manager Linux <b>Snapshot Manager</b> <br />I originally posted about the Quirky Snapshot Manager here: <br /><a href=></a> <br /> <br />Then there was a long saga of getting it to work properly. I thought that it was finally right by the release of Quirky 6.1.3, however, yesterday I encountered another recovery failure. <br /> <br />I figured it out, actually I found the bug at about 1am this morning, it was fixed by 2am. <br /> <br />The situation was, I had two snapshots, then wanted to recover the latest. I had taken a snapshot after first bootup of Quirky Tahr 0.104 (internal development version), then after installing the devx PET I took another snapshot. <br />After compiling some packages, I wanted to wipe them, go back to a freshly installed devx. But, recovery failed. It was due to a simple logical problem in 'snapshot-manager'. <br /> <br /><b>PDF files</b> <br />Changing the subject, I experimented some more with Epdfview and Poppler, trying to fix that missing-images probelm in PDF files. <br /> <br />The problem that we used to have with wrong colors, it turned out to be a problem with Epdfview, the Poppler API had changed subtly. I used a patch from LFS that fixes that, plus some other issues. <br /> <br />However, the missing-images problem is still there, and I went back a few versions of Poppler, problem still there. <br /> <br />Then I tried Evince, a Gnome/GTK PDF viewer, and images do display. So, this must be another bug in Epdfview. <br /> Comments for snapshots Linux I posted about the new Snapshot Manager for Quirky, back on Dec. 26, 2013: <br /><a href=></a> <br /> <br />I lot of work occurred since then, and I finally got it working nicely, and seemingly bug-free, by the release of Quirky 6.1.3. <br /> <br />Now I have added comments. When a snapshot is taken, a shot comment may optionally be entered, and this is displayed alongside the dates in the recovery-list in the main window. <br /> <br />Very handy, to have a short note with each snapshot. <br /> Precise 5.7.1retro Japanese Edition Linux Shinobar has announced a Japanese Edition of Precise Puppy 5.7.1retro: <br /> <br /><a href=></a> <br /> Multiarch sub-directories Linux Some of the big distros have gone over to "multi-architecture sub-directories". For example, Debian and Ubuntu now have a directory /usr/lib/i386-linux-gnu, that contains library files, that would previously been in /usr/lib. <br /> <br />This creates numerous problems for Puppy, and I avoided it by having circular symlinks, for example /usr/lib/i386-linux-gnu is a symlink to /usr/lib. This works, with some caveats. It is the technique that has been used in all pups up until now. <br /> <br />I did once attempt to support the proper multiarch sub-directories, however, it became too complicated. A few days ago, 01micko asked if I had given it any further thought, and I replied no. <br /> <br />However, it set me thinking. I am now building Quirky from Ubuntu Trusty Tahr .deb packages -- yes, that was the hint yesterday -- <b>Quirky Tahr!</b> <br />With Quirky, I really do want the proper multiarch sub-directories, so I took a fresh look at it... <br /> <br />The main stumbling block was the package templates in Woof, they are all based on a directory layout without the multarch subdirs. So, I applied some lateral thinking, and the end result is right now I am running Quirky Tahr off a USB stick, with the proper multiarch subdirs. Posting from it right now. <br /> <br />I have modified only two scripts in Woof, 2createpackages and 3builddistro, and modified most of the FIXUPHACK scripts in the package templates. No other changes are required to the templates, and they should work for both situations, with or without multiarch subdirs. <br /> <br />There is one bug in 3builddistro, that I had to fix in Quirky Tahr after the first bootup, so I will fix the script tonight. <br />Then I will make up a tarball, for the woof-CE guys to consider for inclusion. <br /> <br /><b>Quirky build system</b> <br />I built Quirky 6.x in Woof, then post-processed it to add all the quirky features, however, I realised that I really need to start hacking into Woof itself. So, I have forked Woof, renamed it as the "Quirky build system", and have partly merged the quirky features into it. <br /> <br />The Quirky build system will continue to evolve as a narrow-focus build for Quirky, that is, a full-installation mode only. <br /> <br />I don't intend to put it onto a online Fossil or Git repository, instead, when I think it has matured enough, I plan to upload a tarball. <br /> <br /><b>Fossil notice</b> <br />Note that I plan to remove my online Fossil Woof repository soon, at: <br /><a href=></a> <br /> <br />It has been forked by the woof-CE guys, but if anyone else wants to grab it, please do it soon. I will probably take it down within a week. <br /> New 1TB USB3 hard drive General I bought one of these, for A$79: <br /><a href=></a> <br /> <br /><img src= /> <br /> <br />My laptop hard drive is "bursting at the seams", and it has one USB3 socket, so when I saw this little drive advertised, I went for it. Nice and small, and is powered off the USB cable. <br /> <br />I partitioned it into lots of partitions, for the purpose of doing many test installs of Quirky, and one large partition for general file storage and working area. <br /> <br />Now, a curious thing. I chose ext4 for most of the partitions, however, when I clicked on any of them (desktop icons) and mounted them, the drive activity-light started to flash, and would not stop flashing. <br />That is definitely not behaviour that I want. I like an activity-light, it is confirmation that files are being read-from of written-to the drive. But, if it blinks all the time, it defeats the purpose. <br /> <br />But, when I changed the partitions to ext3, all was well, the activity-light did not keep flashing! <br /> <br />So, I used GParted to change all of the partitions to ext3. <br /> <br />This is interesting. Why is ext4 triggering that activity-light continuously? <br /> The future of Quirky Linux Quirky 6.1.3 was released a couple of days ago, reasonably bug-free, well, the new infrastructure features seem to be working OK anyway. <br /> <br />Now will start a bit of a hiatus, that one that I was supposed to have at Christmas <img src=/news/images/smilies/lol.png /> <br /> <br />The ideas in Quirky will live on, but I intend to do a different mix. But commenting first on the long-term, do I have any long-term plans for Quirky? <br /> <br />Vaguely, yes. I see a strong move to solid-state storage, and for now the technology is Flash, hence f2fs will stay. I also see the "full installation" as staying, and staying as the only mode. The saving/recovery features will get further developed. <br /> <br />And maybe, just maybe, I will look at getting Quirky going on a tablet or smart-phone. The Intel x86 SoCs might become competitive toward the end of 2014, so I might be able to stay with x86 CPU architecture. <br /> <br />Now back to the present. After the hiatus, here is a hint about what I might do: <br /><img src= /> <br /> <br />If anyone wants to comment, please do so at the Forum, as comments to this blog are still disabled: <br /><a href=></a> <br /> Quirky 6.1.3 released Linux I thought that I had the snapshot "disappearing misc folder" bug licked. But, it came back. Oh well. <br /> <br />Quirky 6.1.3 has just one change, a fix for the Snapshot Manager. I discovered, when recovering a snapshot, that /usr/X11R7/lib/X11/fonts/misc disappeared again, making ycalc and rxvt inoperable. <br /> <br />For now, only the Service Packs are available: <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />I recommend deleting any prior snapshots, that is, just wipe everything inside /audit/snapshots. <br /> Experimental x86_64 Slacko Linux 01micko has built a x86 64-bit Slacko Puppy from woof-CE. See here: <br /> <br /><a href=></a> <br /> <br />Testers welcome! <br /> Quirky 6.1.2 released Linux Quirky 6.1.2 is another bugfix release for 6.1. There was 6.1.1 released on January 5, 2014: <br /><a href=></a> <br />and 6.1 was released on December 31: <br /><a href=></a> <br /> <br />I have made some comments about the fixes in 6.1.2: <br /><a href=></a> <br /> <br />Here is the download site, at <br /><a href=></a> <br /> <br />Installation instructions are as per the 6.1 Release Notes: <br /><a href=></a> <br /> <br />If you already have Quirky installed, then there are Service Packs (24.7M, 5.3M, 4.1M): <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />After upgrading, if you have a 'devx' PET installed, that may also be upgraded (8M, 4.2M): <br /><a href=></a> <br /><a href=></a> <br /> <br />Forum thread for feedback: <br /><a href=></a> <br /> Q6.1.2 coming soon Linux I almost released Quirky 6.1.2 yesterday, but had to hold-off due to a bug. Fixed now, and 6.1.2 will be uploaded soon. <br /> <br />There are quite a lot of fixes relative to 6.1.1, and upgrading is essential. <br /> <br />The latest fix, that delayed the launch, is due to package post-install scripts that may arbitrarily delete any file or directory. <br /> <br />Quirky is supposed to be able to recover gracefully if any package is uninstalled, and will reinstate any earlier files/dirs. For example, a package installs /usr/X11R7/bin/Xorg. But of course there would have already been an Xorg, that gets overwritten -- but Quirky keeps the old file in the /audit/<pkgname>DEPOSED.sfs archive file. So, if package gets uninstalled, the earlier Xorg will be reinstated. <br /> <br />That is fine, it works. However, if a rogue post-install script deletes a file, the file was not getting saved anywhere, so it is gone. If the package was uninstalled, that file never came back. <br /> <br />I figured out a solution, implemented in /usr/local/petget/, and a new script ''. When '' executes a package post-install script ( for PETs), it does so with a "alias rm=/usr/local/petget/", so all "rm" operations go to '' -- which takes care of saving the old file/dir in the *DEPOSED.sfs, and also reinstates an older file if it exists. <br /> <br />I encountered this problem when I installed the, which has, amongst other things, "rm -f /usr/bin/gettext" in its The reason for this, is that the 'gettext' package got moved out of the 'devx' into the main Quirky build. But, deleting 'gettext' upset things very much! <br /> <br />Anyway, my fix seems to be working nicely. <br /> <br /><b>More fixes</b> <br />I have posted about some of them in the Forum. <br /> <br />There was a serious bug in the system snapshot mechanism, now fixed, but you might need to delete any snapshots in /audit/snapshots and start again. Trying to recover from a broken snapshot will just wreak the installation. <br /> <br />Not a bug, a new feature, 'devx' is now a Service Pack. They are in the repo, named: <br /><i>devx_service_pack-<old version>_TO_<new version></i> <br /> <br />....their introduction did, however, expose new bugs, which have been fixed. <br /> <br />You do of course need to have a base 'devx-<version>' installed, before a Service Pack can be installed -- hmmm, I don't recall if the script does that check. The Upgrade Manager will check for a devx Service Pack, and there is a new script /usr/local/petget/ <br /> <br />Here is where I posted about 6.1.2 fixes: <br /><a href=></a> <br /> Quirky 6.1.1 released Linux Quirky 6.1.1 is a bugfix release of 6.1. <br /> <br />Please see Announcement, Release Notes, and install instructions in the 'quirky-6.1' folder: <br /><a href=></a> <br /> <br />...except of course, you download the files from the 'quirky-6.1.1' folder: <br /><a href=></a> <br /> <br />Quirky 6.1.1 has many important bug fixes, it is highly recommended to use. <br /> <br />If you already have an earlier version than 6.1.1 installed, there are <i>Service Packs</i>, an easy means to upgrade. <br /> <br />Either run the <i>Version Upgrade Manager</i> (see the Filesystem menu), or grab one of these directly (23.8MB, 1.5MB): <br /><a href=></a> <br /><a href=></a> <br /> <br /><b>Issues</b> <br />The only thing I know of, is that the Version Upgrade Manager displays the wrong preferred-choice of Service Pack to install. <br />I was running 6.1, and it suggested the 6.0.1_TO_6.1.1, but of course I chose the appropriate one. <br />I'll fix that pronto. <br /> <br /><b>To do</b> <br />I want to offer the 'devx' PET as a Service Pack also, and integrate that into the Version Upgrade Manager. That's next on the to-do list. <br /> <br /><b>Packages</b> <br />Packages are all the same as for 6.1, except that I rolled Epdfview and Poppler back to the ones from Wary. I also added Flsynclient, that was missing from 6.1. <br /> Qwallpaper background setter Linux I posted about a problem with the background image getting distorted after applying the Service Pack for Quirky. <br />I also mentioned that this is a generic problem with Puppy, going way way back. <br /> <br />The problem occurs if you change monitors, or bootup a USB stick on a different computer, or you change Xorg's resolution settings. <br /> <br />Today I decided to fix it. I rewrote /usr/sbin/set_bg and background_reshape, modified /root/.xinitrc, and wrote a new application, Qwallpaper. <br /> <br />The new mechanism does not modify the files inside /usr/share/backgrounds, as was done before. Instead, subdirectories are created and modified files are in them. <br /> <br />For example, my laptop screen is 1366x768, and this is an aspect ratio of 177, expressed as a percentage, that is (1366/768)*100. <br />There is a directory /usr/share/backgrounds/177, in which all image files used for my 1366x768 screen go. <br /> <br />The new mechanism also plays nicely with ROX-Filer's own drag-n-drop wallpaper-setting. <br /> <br />Here is a snapshot of Qwallpaper: <br /><img src= /> <br /> <br />Very simple, works real nice. <br /> <br />This will be in the next Quirky Service Pack, however it is generic, will work with all puppies. I have posted the tarball here: <br /><a href=></a> <br /> <br />I didn't provide it as a PET, it is intended to go into Woof. I will let 01micko know about it, see if he wants to put it in to woof-CE. <br />It does mean though, that the other apps Pwallpaper and Nathan's Wallpaper Setter won't work. <br /> <br />If you want to try it, open up the tarball and manually install the files. <br /> Quirky 6.1 released Linux Quirky 6.0 was released on December 15, 2013, see my blog announcement: <br /><a href=></a> <br /> <br />Followed closely by 6.0.1, a bugfix release, on December 20: <br /><a href=></a> <br /> <br />Now, barely 11 days afterward, a significant new release, version 6.1. A very brief announcement: <br /> <br /><i>Quirky is a Linux distribution that lives up to its name "quirky". A number of unusual ideas are experimented with, as described in the detailed Release Notes. <br />Quirky 6.0 started the ball rolling with the feature-set proposed for the 6.x series, now 6.1 adds the comprehensive upgrade/downgrade/rollback/recovery mechanisms. In essence, these are in three sections: <br /><b>1.</b> Rigorous handling of package uninstallation, such that the system can never be broken. <br /><b>2.</b> System snapshots, with history, allowing recovery to any earlier state. <br /><b>3.</b> Simple version upgrade, with Service Packs.</i> <br /> <br />The above three new features are explained further in earlier posts to my blog, read the Announcement and detailed Release Notes, which has appropriate links to my blog: <br /><a href=></a> <br /> <br />The Release Notes also explain how to download and install Quirky 6.1, please read. There are a few choices. If you already have 6.0.1 installed, there is a <b>Service Pack</b> PET. For new installations, there are two scripts, for installing either to a Flash drive or a hard-drive partition. Or, there is an easy ready-to-go image for a 8GB Flash drive, that just needs to be copied to the drive. <br /> <br />For those who are into compiling source packages, the "devx" is no longer a SFS file. SFS files are no more, history, gone, kaput. They are now PETs. Again, the Release Notes explain this. <br /> <br />At the time of posting this, the mirrors of ibiblio have not yet got it, so download from here: <br /><a href=></a> <br /> <br />For those interested in size, the pertinent file is 'quirky-6.1.usfs.xz', which is only <b>104.0MB</b>. The contents of this file get installed to either a Flash memory (USB stick or SD-card) or hard-drive partition by the appropriate script. <br />For those who are wondering, that "usfs" means "uncompressed squashfs", that is, it is a SFS file, but without compression. The xz compression is applied to the file afterward. Therefore, if the 'unxz' utility is applied, the resulting .usfs file can be mounted like any squashfs filesystem. <br /> <br /><b>Issues/bugs</b> <br />I did find some peculiar behaviour with the Service Pack. Although it is for upgrading 6.0.1, I applied it to a 6.0 installation. I don't know if that was the cause or not, but somehow the new menu entries "Quirky Version Upgrade Manager" and "Snapshot Manager save/restore partition" moved from the Filesystem menu to the Multimedia menu. Also, the new background image is distorted on my widescreen. <br /> <br />That latter one is a generic problem with how widescreen image truncating is handled in Puppy. I implemented it way back, and I knew after having done it, that it was not the best solution. I need to take a fresh look at it, and let the woof-CE guys know if I come up with a better way of doing it. It needs to cater for multiple different monitors and aspect ratios. <br /> <br />Note, commenting to my blog is still disabled. You can provide feedback to the Forum, see link inside the Release Notes. <br /> Version Upgrade Manager Linux I have now put the roof on the edifice that provides comprehensive system upgrading/downgrading/recovery. This "roof" is the Version Upgrade Manager. <br /> <br />I previously posted about a rigorous mechanism to handle random uninstalling of packages, such that Quirky cannot be compromised or crashed (touch wood): <br /><a href=></a> <br /> <br />An allied topic, also part of the edifice, is the Snapshot Manager, allowing snapshots of the entire installation, and rollback to any earlier snapshot: <br /><a href=></a> <br /> <br />Now, I have automated the creation of Service Packs, PET packages to upgrade an already-installed Quirky. That is, when I release Quirky 6.1, the Service Pack to upgrade from 6.0.1 will automatically be created, and also uploaded. <br /> <br />The Service Pack will be quite a small package. In the case of 6.0.1 to 6.1, it is about 23MB, as I have bumped the kernel from 3.12.2 to 3.12.6. Maybe some future upgrades will be very small. <br /> <br />The Package Manager checks for availability of an upgrade Service Pack every time that it is started. <br /> <br />However, I have also created an entry in the Filesystem menu, "Quirky Version Upgrade Manager", so a user can check for an upgrade whenever they want, perhaps in response to seeing it announced on my blog. <br /> <br />An installation of Quirky should be upgradeable indefinitely by means of Service Packs. Being a full installation, there are none of the complications that limited adoption of this method in Puppy Linux. <br />On the otherhand, there is a slight complication in that the upgrade is taking place in a running Quirky system (though, a reboot is recommended immediately after an upgrade). I might, in future, do it the reboot -> ramdisk way. <br /> <br />The Service Pack upgrade will work for Quirky installations in a drive (ex, Flash drives) or in a HD partition. <br /> Quirky Snapshot Manager Linux I listed a goal for Quirky is to support system update/rollback/recovery, and a few days ago I posted what was the first step, proper support for uninstallation of packages in Quirky's "full installation" environment. See: <br /><a href=></a> <br /> <br />Now there is another big step, or to use my earlier analogy, the structure has not just a few bricks, but most of the walls built... <br /> <br />The Quirky Snapshot Manager takes a snapshot of the entire partition and saves it as a compressed file. You can "roll back" to that snapshot whenever you want. That's the essence of it. <br /> <br />Furthermore, there can be any number of snapshots, a whole history of them, and any earlier snapshot can be rolled back to. <br /> <br />Here is the GUI: <br /><img src= /> <br /> <br />A possible scenario is that you want to experiment with compiling a lot of packages, but in case things get stuffed up, or if you just don't want to keep all the stuff that you have compiled and installed, very simple, take a snapshot beforehand. <br />It is easy-peasy to roll back afterward to that snapshot. <br /> <br />Some technical notes about how it works: <br /> <br /><b>Older snapshots</b> <br />The latest snapshot is a compressed file of almost all the files in the system partition, except for stuff that should not be saved, such as /dev, /tmp, /proc, etc. <br />Older snapshots are kept as delta (difference) files only, hence they are small. However, that does mean that if you choose to roll back to an older snapshot, the Snapshot Manager has to reconstruct the snapshot by reconstituting the delta files in sequence, going back in time. <br /> <br /><b>Snapshots limit</b> <br />In theory, you could have any number of older snapshots, and the GUI allows selection of the allowable limit up to 25. However, it is doubtful that you would want such a long history. There is not much point in rolling right back, usually it is only done for error recovery. <br />Although you can manually set the limit, the Snapshot Manager will automatically reduce this as the partition becomes full. In fact, it starts to reduce as the partition grows over 50% full, down to 1 when 75% full. <br /> <br /><b>Recovery</b> <br />When the Recover button is clicked, there is then a choice whether to recover immediately while still running Quirky, or to reboot and recover. <br />The latter is a "play safe" mode, in which there is bootup into a ramdisk (with a tiny-Quirky in it), which then does the recovery, then there is another reboot. <br />Recovery via ramdisk does require that the installation is not absolutely trashed -- at least the basic utilities such as busybox must be functional. This does require that be OK. <br />In theory, I could create static utilities especially for the ramdisk, but that is a maybe future thing. <br /> <br />I have tested recovery both ways, and they both work. Recovery while Quirky is still running can potentially cause trouble, but if it does, a reboot will probably fix it. Or restart X. <br /> <br /><b>Kernel boot parameter</b> <br />It is also possible to cause a recovery at bootup by typing in the boot parameter "qfix=back". This will launch tiny-Quirky in a ramdisk and a menu will be offered of all available snapshots. <br /> <br /><b>Summary</b> <br />This is a neat tool. I created it primarily because this is something that I personally will use. For developers, or anyone who fiddles with their installation, it is comforting to know that there is an earlier snapshot that works, that can be rolled-back to if required. <br /> <br />I deliberately decided not to try and use any other partition in the computer for backup. Instead, it is all done in the one partition, in which Quirky is installed. This does mean that some spare space has to be left in the partition as "working space", at least 30% (before a snapshot is made). <br /> <br />Another point I should make is that the Quirky Snapshot Manager is written specifically for Quirky6. It requires a full installation, it expects some Quirky-specific layout, such as /var being a symlink into /tmp/var. It also checks for a vfat first-partition, in the case of an installation to an entire drive, and rolls back files logo.16 and vmlinuz as appropriate in that partition. <br /> <br />Note also, it is gettexted, and that should even work when doing recovery in a ramdisk. <br /> <br />The two scripts required to do all of this are /sbin/init and /usr/sbin/snapshot-manager. <br /> <br />The GUI tool is launched from the Filesystem menu. <br /> <br />Expect to see this in the upcoming Quirky 6.1. <br /> 3.12.6 kernel Linux I have compiled the Linux 3.12.6 kernel for Quirky6. <br /> <br />The main reason for recompiling was because I wanted the 'squashfs' driver builtin, not as a module. That was also the opportunity to move up from 3.12.2. <br /> <br />The sources are in the usual place (with "usual" username and password): <br /><a href=></a> <br /> <br />The PET (25.4MB): <br /><a href=></a> <br /> <br />...this is not really designed for direct installation in a running Quirky, but for when I build it. <br />But, it could probably be installed, then reboot -- I think /etc/rc.d/rc.sysinit will detect that 'depmod' needs to be run. <br />Oh yeah, vmlinuz would have to be put into the first partition, in case of a Flash-drive installation. But I think a full installation in a partition, the PET should just work, /boot/vmlinuz is already in the right place -- haven't actually tested this. <br /> Package uninstall management Linux With Quirky 6.0.1 I laid the foundation stone of my planned "audit trail", to properly manage upgrading/downgrading/recovery. <br /> <br />Now, I have taken the next step, some bricks mortared in to properly handle package uninstallation. <br /> <br />Mavrothal recently experienced a problem with Quirky 6.0, when he uninstalled a PET package that has critical Xorg files in it, like /usr/bin/Xorg for example. <br />The problem is, this is a "full installation", there are no layers. With frugal-installed puppies, there is a bottom puppy.sfs layer, that is read-only, the files can't be removed, and uninstalling a PET one-layer up will just expose the files underneath -- so the original /usr/bin/Xorg will be exposed. <br /> <br />But, as mavrothal experienced, when the PET was uninstalled, there was no longer any Xorg, etc. And, I recall, mavrothal used the word "hosed" to describe his Quirky installation. <br /> <br />I have now implemented a solution, and it goes far beyond the underneath-layer recovery of Puppy. <br /> <br />I have modified two files, /usr/local/petget/ and -- not in Woof, I am maintaining all of these changes separately and applying them afterward. <br /> <br />When a package is about to be installed, any files that it replaces get saved. Let's say that I am going to install 'xorg-server-1.15-x86'. Just before the files get installed, any files that are going to be overwritten get saved, into /audit/xorg-server-1.15-x86DEPOSED.sfs. <br /> <br />This process happens to all packages. so we could end up with a lot of those "DEPOSED" SFSs. That is good. The script is now very clever, and when a package is uninstalled, it determines the latest required deposed files that need to be restored. <br /> <br />For example, if I uninstall xorg-server-1.15-x86, but perhaps I had installed lots of other packages after I had installed xorg-server-1.15-x86. The uninstall script looks to see if any later-installed packages have overwritten any of the files of xorg-server-1.15-x86, and the most appropriate files get restored. <br />The script also considers the dependencies of packages, and will refuse to uninstall a package if a later one has it marked as a dependency. <br /> <br />The great thing about this, is you could have, for example, installed a couple of dozen packages, then you can uninstall one right back at the beginning, and nothing will be broken. That's saying something. Well, I think it will work, the logic seems ok, but haven't done any heavy testing yet. <br /> <br />I am aiming for Quirky to be update-able indefinitely, and old stuff pulled out as desired, without breaking things. <br /> <br /><b>Next step</b> <br />I intend to apply this "deposed" mechanism to the 'new2dir' script, so that developers who are compiling apps for Quirky will also have this rollback feature. new2dir can also register a newly compiled and installed package with the Package Manager, to enable one-click uninstallation. <br /> ibiblio sync scripts Linux Hmmm, when is my "hiatus" going to start? <br /> <br />Anyway, I am making things easier. For years I have manually uploaded to, but today decided to finally automate it. I like to share whatever I do, so here it is... <br /> <br />This might interest other guys maintaining the 'puppylinux' repo at, or 'fatdog'. But my script suits just one guy having upload access, I don't know what you do with lots of different people having ftp access, unless they are disciplined to only upload to their own directories. <br /> <br />My first problem, I construct PETs in one place, I have the 'Packages-*' db files somewhere else (in Woof actually), and I have a local mirror directory of what is going to go onto <br />This means that I have to go through two big steps, update my local mirror directory from the scattered working directories, secondly upload and sync with the remote site. <br /> <br />I have written two scripts to automate this. The first, 'synchronise', syncs the local working directories with my local mirror-directory. The second, 'upload', syncs local mirror dir with ibiblio. <br /> <br />Note that it deletes old PETs from ibiblio, as I don't want the PETs to keep accumulating in ibiblio like they used to do. Be aware of this, if you use it, it will delete all PETs not in the current db file. <br /> <br />I will have to ask efiabruni about that double-spacing of lines... <br /> <br /><b>synchronise</b> <br /><code><pre>#!/bin/sh <br />#Barry Kauler, 20 dec 2013 <br />