Barry's news Barry Kauler personal news This blog is probably archived General <b><p style=text-align:left;color:red>THIS BLOG IS ARCHIVED</p></b> <br /> <br />The new blog is just about setup the way I like it, and is looking very good. <br /> <br />What is truly amazing is the speed. Google rates it at 97/100 for mobiles, and 95/100 for the desktop. <br /> <br />My new host, shared account,, has slightly slower server response times than (which is the one running this blog). Even so, Bashblog is lightning fast. <br /> <br />Being static, it is also secure. <br /> <br />Ta-da, here it is: <br /> <br /><b><a href=></a></b> <br /> <br /> <br /> New blog for Easy OS Linux I have posted recently about archiving this blog, as I am moving to a new host. <br /> <br />As it is a fresh start, I evaluated about a dozen CMSs (Content Management Systems) and blogs. Some of them are very nice, but I was always unsatisfied with the speed (lack of) and server overhead. <br /> <br />The problem is, I am comparing with this blog, which is a small perl script, derived from PPLOG. It rates 95/100 on the google site speed test. Many CMS/blog systems rated quite high, up to 87, some were woeful, down around 50-60. <br /> <br />Then I thought some more about what I really want. Most of my sites are static web pages. The only dynamic part is the blog. <br /> <br />Hence, I moved on to evaluating static site generators. Apparently, there are over 450 of them. I waded through a couple of dozen of those, before finding <b>Bashblog</b>. <br /> <br />Very simple, and creates a somewhat rudimentary, yet capable blog. The Bashblog website: <br /><a href=></a> <br /> <br />The author seems to have designed it to run '' on the remote site. I did that, but there are limitations, so I set it up to run locally, and I wrote a one-line rsync command to sync with the remote site. <br /> <br />This is the result: <br /><a href=></a> <br /> <br />The text is a bit small, I need to play around with the css file. <br /> <br />It is also supposed to have Disqus commenting, I don't know why that isn't working. <br /> <br />There is absolutely no server overhead in this. Posts are created in markdown and posted as html. They are just static html pages, already archived. Brilliant! <br /> <br />I plan to post a howto sometime, on how I have setup Bashblog, and mods. <br /> <br />Since these blogs have no server overhead, I will probably have at least one more, a personal blog. <br /> <br />Bashblog uses '' from here: <br /><a href=></a> <br /> Descendents of PPLOG Linux This blog that you are looking at now, is a special version of 'pe_pplog', that was created when my blog was under attack. That was back in 2013/2014. <br /> <br />Puppy forum member 'efiabruni' is the developer of pe_pplog, and here is where she has kept my special version: <br /><a href=></a> <br /> <br />Efia has her blog running here: <br /><a href=></a> <br /> <br />A couple of days ago, I downloaded her latest version from github, but found that posts failed. The hint as to why is a bugfix reported in her last post, which appears to have repcussions -- I suspect the latest change has not been actually tested. <br /> <br />Yesterday, I sent an email to Efia, no reply yet. I did have a go at fixing it myself, but having zero knowledge of perl doesn't help. <br /> <br />So, are there any other descendents of PPLOG. There was sc0ttman's JSPPLOG, but I found his website is gone. <br /> <br />However, 01micko has created 'sjpplog_ng': <br /><a href=></a> <br /> <br />You can see this blog in action here: <br /><a href=></a> <br /> <br />Here is a forum thread on pe_pplog, back in 2013: <br /><a href=></a> <br /> jwm version 2.3.7 Linux Yippee, I have finally upgraded JWM! <br /> <br />Quirky has been using version 976 from git, for years. This is the "2.2.x" series. Now I have compiled version 2.3.7, released 20170721. This page explains differences between the 2.2 and 2.3 series: <br /><a href=></a> <br /> <br />All of my collection of JWM theme PETs will need to be upgraded. So far, have just done the 'brightdeepblue' PET, as used in the latest Quirky and Easy. <br /> <br />The 'jwmconfig2' PET is for the old version. Rather than fix it, I am now using radky's PupControl, which has JWMDesk in it. <br /> Translating help files in Easy Linux I posted recently about an overhaul of the help files in Easy: <br /><a href=></a> <br /> <br />Then I considered moving frm html to markdown: <br /><a href=></a> <br /> <br />But no, the richness of html is far superior to markdown, and mdview only supports a basic set of tags. <br /> <br />Folder /usr/share/doc/easy has, and When run, these generate help_lang.htm, home_lang.htm and welcome_lang.htm, where "lang" is the two-character code for the language, ex "de" for German. <br /> <br />Symlinks help.htm, home.htm and welcome.htm are also created. <br /> <br />I am using momanager to create .mo files for, and Just a note: currently there is a bug with latest momanager, so I am using an older version. As a precaution, I will leave the older version in woofQ, at /usr/sbin/momanager0. <br /> <br />TEXTDOMAIN is "easyhelp", and so far I have done fr, de and da, using google online translator: <br /><a href=></a> <br /> <br />Google asked for $68 to translate an entire .po file, but it can be done for free, more slowly, by pasting the text into the left-hand English side. But, the easyhelp.po file has to be done in two parts. <br /> <br />Obviously, the google translations are going to be less than optimum. I will upload 'easyos.po' and invite anyone interested, to insert translations. Will post a comment when that is done. <br /> Hiawatha web server Linux I have compiled the latest Hiawatha, version 10.6, as the PET used in Quirky and Easy is ancient. Project site: <br /><a href=></a> <br /> <br />This is how I compiled it: <br /><pre><code># mkdir build <br /># cd build <br /># cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LIBDIR=/usr/lib -DCMAKE_INSTALL_BINDIR=/usr/bin -DCMAKE_INSTALL_SBINDIR=/usr/sbin -DCMAKE_INSTALL_MANDIR=/usr/share/man -DWEBROOT_DIR=/root/Web-Server -DLOG_DIR=/var/log/hiawatha -DPID_DIR=/var/run -DWORK_DIR=/var/lib/hiawatha -DCONFIG_DIR=/etc/hiawatha <br /># make <br /># new2dir make install</code></pre>< <br /> <br /> Desktop icons new layout Linux After an eternity, I am building a pup-derivative with a new layout of icons on the screen. <br /> <br />The partition icons are still there, above the tray. <br /> <br />The others are now just one line across the top of the screen, and those less-required are removed. <br /> <br />As SFS files are important in Easy, this is a new icon, labeled "sfsget". This is alongside what was named "install" but is now going to be either "pkgset" or "petget". <br /> <br />The renaming of "install" will remove confusion, due to the different meanings of that word. <br /> <br />I will also have radky's PupControl, which will launch via the "setup" icon. radky has just released a new version, that is Easy-compatible. <br /> SFSget rewritten Linux <br /> <br />I have rewritten /usr/sbin/sfsget, the SFS downloader app. <br /> <br />This was not in Quirky, as Quirky is for full installations, though that changed somewhat later on. <br /> <br />Easy OS, however, is exclusively based on a layered filesystem, using aufs or overlay, and SFS files are making a big comeback. <br /> <br />Easy though, is very different from Puppy, and I had to rewrite SFSget from scratch. <br /> <br />Done, and it works real nice. <br /> Not yet archived General I decided to keep this blog going for awhile longer, as still testing various alternatives. <br /> <br /><b><p style=text-align:left;color:green>THIS BLOG STILL RUNNING!</p></b> <br /> <br /> This blog now archived General Yes, this blog has reached EOL (End Of Life). <br /> <br /><p style=text-align:left;color:red><b>This is the final post!</b></p> <br /> <br />I have moved to a new hosting provider, and taking the opportunity for a clean sweep of just about everything. <br /> <br />This blog script is unmaintained and a security risk. About a year ago, or more, I was forced to disable comments. <br /> <br />The domain name is now pointing to the new site, and I have installed <b>HTMLy</b>, a lovely flat-file blog written in PHP. The new blog is here: <br /> <br /><a href=></a> <br /> Old blogs archived General I had two old blogs, set to read-only, at and, however, had to remove them as my host complained of too much traffic. <br /> <br />I was meaning to convert them to static HTML pages, and finally have done it. Found a great tool for the job, Httrack. It has a browser interface, by running "webhttrack". <br /> <br />I re-enabled the online blogs and used webhttrack to download one of them. Oh, it downloaded heaps of files from other sites, mostly linked images. <br />After some online searching, found the trick to restrain download to only inside the blog. <br /> <br />There are "Scan Rules". Delete them, replace with: <br /><i>-* +** -*/?delete=*</i> <br /> <br />The "-*" removes everything, then "+**" will restrain downloads to have that text in the URL. <br /> <br />Httrack follows every link that it can find on the blog, which takes a very long time. I did not see the point of it following the Delete button, so added that fine filter item. <br /> <br />The old blogs are now here: <br /><a href=></a> <br /> <br />This blog,, is also there, converted to static pages, as I am planning to move to a new blog script (and website) in the next day or two. <br /> <br />Another item of news: is now on a new host, <br /> <br /> Markdown to HTML Linux I wrote about redesigning the local help files in Easy: <br /><a href=></a> <br /> <br />Now I am thinking of dumping all of that. <br /> <br />Various reasons, one of which is that HelpSurfer is too unstable. Also too slow. <br /> <br />jamesbond's mdview is soooo fast, and help files in Fatdog are now based on markdown. Wrote about mdview here: <br /><a href=></a> <br /> <br />L18L wrote a custom converter to convert one of the Fatdog md files to html: <br /><a href=></a> <br /> <br />I wondered what is out there, to convert md to html. There are many converters that require an Internet connection, but I want one that works offline. <br /> <br />Found these: <br />Written in C: <br /><a href=></a> <br />Javascript: <br /><a href=></a> <br /> <br /> Big changes are afoot Linux I have been swapping between using Quirky and Easy, and one thing has become very obvious: Easy is much faster. <br /> <br />No quantitative measurements, just eyeballing, noticing a significant difference in app startup times and general responsiveness. Compiling times are also remarkably faster. <br /> <br />Fundamentally, the reason is that Quirky is a full installation, and in my case on a magnetic platter mechanical hard drive. Whereas, Easy is a layered filesystem, where, if there is enough RAM, 'q.sfs' (which is all of Easy) gets loaded into RAM at bootup. <br /> <br />So, you pay the price of a slightly slower bootup, but faster running. <br /> <br />One extra point: q.sfs is xz-compressed, however, after download and at first bootup, there is the option to recompress it gzip-compressed. This can make a small but noticeable difference to the responsiveness. <br /> <br />Another point: aufs is configured without support for writing directly to the lower layers. This makes aufs faster. <br /> <br />In all, it is a pleasant experience using Easy. So, the title is hinting something! <br /> Mele PCG35 Apo ordered Linux I wrote about this mini-PC recently: <br /><a href=></a> <br /> <br />Decided to buy it. Another system is needed for testing. Unfortunately, the Alpha Litebook has fatal problems with using Flash drives, so not using it. I posted about it here: <br /><a href=></a> <br /> <br />Also, a system with Windows 10 will be useful for testing dual installations with Easy OS. <br /> <br />Like the passive cooling too! <br /> Easy Help overhauled Linux In Quirky, and all pups, there is a "Help" entry in the menu, clicking on which launches the web browser and brings up a local web page, /usr/share/doc/index.html <br /> <br />I have overhauled the help mechanism. index.html has javascript in it, which HelpSurfer cannot handle. <br /> <br /><b></b> <br />index.html is now removed, and clicking "Help" in the menu runs /usr/share/doc/easy/, which launches a language-translated file 'help.htm' in HelpSurfer. <br />This has to work without being online, so there are translations of major languages for help.htm, in /usr/share/doc/easy. <br /> <br /><b></b> <br />This replaces 'welcome1stboot' and launches a translated 'welcome.htm'. Again, has to work offline. <br /> <br /><b></b> <br />index.html had pull-down menus to select a package, application or utility, and launch local or online help. That uses javascript, so there is now a script, /usr/sbin/ <br />help.htm has a link to launch doc-launcher. <br /> <br />There has been a major cleanup of /usr/share/doc, old help files thrown out. Much of it is better suited to be online. <br /> HelpSurfer 0.3 Linux I posted about HelpSurfer 0.2 a few days ago: <br /><a href=></a> <br /> <br />There was something else that I wanted HelpSurfer to be able to do: execute local executables. <br />This is not a web browser, it is a local help viewer, so I can justify doing things that would be unacceptable in a browser. <br />Although it is not legitimate html, HelpSurfer 0.3 supports hyperlinks to <br /> <br /><i>"exec:<executable>[ <parameters>]"</i> <br /> <br />For example: <br /> <br /><i><a href="exec:leafpad /usr/share/doc/home.htm">EXECUTE LEAFPAD</a></i> <br /> <br />I have a requirement for this feature. <br /> <br />Announced on the Puppy Forum, with source and PET links: <br /><a href=></a> <br /> New welcome window Linux With Quirky, at first bootup, QuickSetup displays, followed by 'welcome1stboot'. The latter is a window with some introductory information, such as about the desktop icons and tray applets, and links to further help. <br /> <br />In woof-CE, that welcome1stboot is a web page, in Quirky it is a binary executable (written in BaCon). <br /> <br />For Easy, I have created /usr/share/doc/easy/welcome.htm, and this now replaces welcome1stboot. <br />As easy has the lovely new HelpSurfer html viewer enhanced by SFR, this is used to view welcome.htm <br /> <br />Technical note: welcome.htm is launched from /usr/sbin/delayedrun, which in turn is launched from /root/.xinitrc when X starts up. <br /> <br />I used Google Translate to create welcome_de.htm, etc.. After the user has chosen a language in QuickSetup, delayedrun will look for a matching welcome_*.htm and if exists will launch it. <br /> SeaMonkey heavy writes to drive Linux Forum member tallboy posted about this, for Firefox: <br /><a href=></a> <br /> <br />SeaMonkey does the same thing, updates the session information every 15 seconds. This is only useful in case of a crash. Setting it to 15 seconds causes Flash memory to be pounded. <br /> <br />tallboy posted a link, with a fix. It can also be done by editing /root/.mozilla/*/seamonkey/prefs.js, this line will set it to 30 minutes update: <br /> <br /><i>user_pref("browser.sessionstore.interval", 1800000);</i> <br /> <br />I reckon that I will modify my SM PET with this. <br /> ROX-Filer Home icon Linux The icon bar along the top of ROX-Filer file manager has a "Home" icon. Click that, and it takes you to /root. <br /> <br />In Quirky and Easy, I want to differentiate between the /root and the user's preferred working home. When I click the "Home" icon, I want to go to that alternative path. <br /> <br />This question has been asked a few times on the Puppy Forum, for example here: <br /><a href=></a> <br /> <br />I have created a patch for the source code, 09-rox-filer-easy-home.patch. hard-coded for the home path in Easy Linux. <br /> <br />The source that I am using for Quirky and Easy is: <br /><a href=></a> <br /> <br />And these patches have to be applied: <br /><a href=></a> <br /> <br />09-rox-filer-easy-home.patch really should be generalized to suit any desired home, so it will work in any pup, as my todo note here: <br /><a href=></a> <br /> <br />...if anyone wants to do that, go for it! <br /> <br />After patching, compile: <br /><i># ./ROX-Filer/AppRun --compile</i> <br /> <br />Which will create 'ROX-Filer' executable, copy that to /usr/local/apps/ROX-Filer/, or where ever ROX is in your pup, then restart X. <br /> How to compile SeaMonkey 2.48 Linux I have received a request, how to compile SeaMonkey 2.48. <br /> <br />This is a useful read: <br /><a href=></a> <br /> <br />Get the 'hotfix.patch' from here: <br /><a href=></a> <br /> <br />This is what I did: <br /> <br /><pre><code># patch -p1 < ../hotfix.patch <br /># CFLAGS_HOLD=$CFLAGS <br /># CXXFLAGS_HOLD=$CXXFLAGS <br /># EXTRA_FLAGS=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" <br /># export CFLAGS+=$EXTRA_FLAGS <br /># export CXXFLAGS+=$EXTRA_FLAGS <br /># unset EXTRA_FLAGS</code></pre>< <br /> <br />This is my mozconfig file. Note that I used system pixman, however pixman spits out error messages, non-fatal, but you might want to consider using SM's internal pixman library: "--disable-system-pixman" <br /> <br />I did not use system nspr and nss, as in Quirky 8.3 (based on Ububtu 16.04.2 DEBs) they are too old. <br /> <br />Here is '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=x86_64-pc-linux-gnu <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 --with-system-nspr <br />#ac_add_options --with-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-alsa <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 --with-system-libevent <br />#ac_add_options --disable-libjpeg-turbo <br /></code></pre>< <br /> <br />Just put 'mozconfig' into top-level of source code, then off you go: <br /> <br /><i># make -f</i> <br /> <br />Before installing, if you already have /usr/lib/seamonkey-2.48 and seamonkey-devel-2.48, /usr/share/idl/seamonkey-2.48, and /usr/include/seamonkey-2.48, rename them to something else. then: <br /> <br /><i># make -f install</i> <br /> <br />Make sure that /usr/lib/seamonkey is a symlink to seamonkey-2.48, and check that /usr/bin/seamonkey is a symlink to /usr/lib/seamonkey/seamonkey or /usr/lib/seamonkey-2.48/seamonkey <br /> <br />Then run "seamonkey". <br /> <br />Or, if you want to make a pet, use 'cp -a' to copy out all of those target directories, before running seamonkey (when seamonkey runs, it actually writes into /usr/lib/seamonkey-2.48, or at least it used to, so grab the pristine files before first run of seamonkey). <br /> <br />Tidy up: if creating a PET, good to use an existing PET, such as mine, as a template. Note, delete the dictionary files, as all pups have hunspell, and delete the 'modern' theme -- again, look in my PETs. <br /> <br />Get my PET from here: <br /><a href=></a> <br /> <br />If you have Quirky and maybe a very recent pup, it will have 'pet2dir' utility, so just do this to expand the PET to a folder: <br /> <br /><i># pet2dir</i> <br /> <br />If your pup does not have this utility, then do it this way, which will give an error message, but works: <br /> <br /><i># tar -xf</i> <br /> SeaMonkey 2.48 final Linux Quirky 8.3 has SeaMonkey 2.48-beta1. <br /> <br />Now, the final has been released. I have compiled it in Easy (Ubuntu 16.04.2 Xenial Xerus compatible). <br /> <br />PET (45.9M): <br /><a href=></a> <br /> <br />I was astounded how fast SM compiled. I am running Easy on the "innostor" 16GB USB3 Flash drive that I bought recently for AU$7. It is plugged into a USB2 socket, but that doesn't slow it down. Plus, 'q.sfs' is in RAM. 'devx' sfs is mounted in the aufs layer and that is mounted from the flash stick. In all, very fast. <br /> HelpSurfer 0.2 Linux HelpSurfer is at version 0.2. <br /> <br />Forum member SFR posted a patch for Surfer, see my blog post yesterday: <br /><a href=></a> <br /> <br />Hey, it is like I am a little kid again, on Christmas morning! <img src=/news/images/smilies/lol.png /> <br />I put in another request, for a "Quit" icon in Surfer, and SFR posted another patch: <br /><a href=></a> <br /> <br />Here is the latest source, with both patches applied: <br /><a href=></a> <br /> <br />And a 64-bit PET, compiled in Easy (built with Ubuntu 16.04.2 Xenial Xerus DEBs): <br /><a href=></a> <br /> <br />Yes, Easy, I am excited like a little kid about that too, 'coz it is coming along very well. For those who don't know, Easy is the "next generation" after Quirky Linux. <br /> Mele PCG35 Apo mini-PC Linux If I was on the lookout to buy a mini-PC right now, this one would rate near the top of the list: <br /><a href=></a> <br /> <br /><img src= /> <br /> <br />The Aussie Dollar is riding high right now, one Dollar buys 80 US cents. Let's see, US$179 is AU$225. <br /> <br />The chap at cnx-software has looked at it: <br /><a href=></a> <br /> <br />Apparently there is an "Ubuntu edition" in the works. <br /> Puppy Linux Newsletter August 2017 Linux The August edition of the Puppy Linux Newsletter is now out. Read online or download: <br /><a href=></a> <br /> <br />If you would like to participate, this is the forum thread: <br /><a href=></a> <br /> Improving Surfer tiny web browser Linux Surfer is a web browser, see project home: <br /><a href= <br />> <br /></a> <br />The chap who created Surfer, many years ago created version 0.0.7 which worked with libgtkhtml, forming a very tiny HTML viewer. <br /> <br />This tiny version has been in many pups (Puppy Linux and derivatives) as the internal HTML documentation viewer. <br /> <br />Tiny, which is great, very useful just to look at local HTML files, but there is one major problem -- libgtkhtml supports HTML4 and some CSS, there is no support for javascript. <br />Consequently, web pages on the Internet cannot be reliably displayed, and in many cases will crash Surfer. <br /> <br />What is needed is for Surfer to treat Internet links in local web pages as a special case, and launch "defaultbrowser" (which is the main browser, ex SeaMonkey). <br /> <br />I looked at the source code, and it wasn't obvious how to do that, so I posted the question to the Puppy Forum: <br /><a href=></a> <br /> <br />Fantastic, forum member SFR has created a patch! <br /> Innostor fast and cheap USB3 flash sticks Linux I posted a couple of days ago about a 16GB USB3 Flash drive that I purchased for AU$7, that turned out to be very fast: <br /><a href=></a> <br /> <br />My memory is that it was purchased at Kmart, I think at least a few months ago, maybe more. <br /> <br />Anyway, I found another one, this time only 8GB, and in Woolworths, on sale for AU$5. Some photos: <br /><img src= /> <br /><img src= /> <br /> <br />...that AU$2 was just at one store in NSW, over a year ago. <br /> <br />Anyway, my new Hub 8GB USB3 stick identifies itself as "IS917 innostor" and here is my write speed test, to a fat32 filesystem: <br /><pre><code># sync <br /># echo 3 > /proc/sys/vm/drop_caches <br /># dd if=/dev/zero of=/mnt/sdc1/dummyfile bs=1M count=1024 conv=fdatasync oflag=direct <br />1024+0 records in <br />1024+0 records out <br />1073741824 bytes (1.1 GB, 1.0 GiB) copied, 64.0743 s, 16.8 MB/s</code></pre>< <br /> <br />...pretty good, especially when I recall my Emtec drive purchased yesterday from BigW, at only 1.6MB/sec -- and they cost about AU$7 each. <br /> <br />Here is more info on the is917 innostor chip: <br /><a href=></a> <br /><a href=></a> <br /> Quirky Xerus64 8.3 final Linux Quirky 8.2 was released only 10 days ago: <br /><a href=></a> <br /> <br />Version 8.3 was intended to be a bug-fix upgrade from 8.2, however, in the short interval of 10 days, the development has been very intense, and 8.3 has turned out to be somewhat more than just a "bug fix" release. <br /> <br />Announcement blurb: <br /><i>Quirky Linux 8.3 x86_64 is codenamed "Xerus" and is built using the woofQ Quirky Linux build system, with the help of Ubuntu 16.04.2 binary packages. Thus, Xerus has compatibility with all of the Ubuntu repositories. <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, though recently there is limited support for live-CD session-saving and "frugal" installation. <br />Version 8.3 has many architectural improvements and package upgrades, including new packages JWMDesk, UrxvtControl, Take-a-Shot, SQLIteManager, MRUF-lst and Pmcputemp. Among architectural improvements, the overlay filesystem has been dumped in favour of aufs, mime-handling fixes, and network-connection refinements. A significant change in application selection is VLC dumped in favour of Xine. The Linux kernel is version 4.11.12 and SeaMonkey is version 2.48b1.</i> <br /> <br />Detailed announcement and release notes are here: <br /><a href=></a> <br /> <br />Snapshot: <br /><img src= /> <br /> <br />There is a choice to download, either a live-CD ISO file, or an image file for 8GB or greater USB Flash stick. Install instructions: <br /><a href=></a> <br /> <br />Primary download site: <br /><a href=></a> <br /> <br />Forum feedback: <br /><a href=></a> <br /> Emtec vs Lexar USB2 Flash sticks Linux Yesterday I purchased a set of three Emtec 16GB USB2 Flash sticks from BigW, here in Australia, for AU$20, just under AU$7 each: <br /><a href=></a> <br /><img src= /> <br /> <br />I installed the latest version of Quirky Linux to one of the sticks, and booted up on my desktop PC (i5 CPU, 16GB RAM, in other words a reasonably snappy performer). <br />Right off, I observed that Quirky was incredibly slow. Unbelievably slow, absolutely awful. <br /> <br />These days, I tend to buy USB3 sticks, as they run fast even when plugged into a USB2 socket. However, there are some shonky USB3 sticks at the bargain-basement level. But leave that one for now. <br /> <br />A little while ago, I bought a Lexar 8GB USB2 stick from BigW, for AU$9.50. Though, I notice the Australian distributor for Lexar is now only importing from 16GB and up. <br /><a href=></a> <br /><img src= /> <br /> <br />So, I decided to do some quantitative comparison, just a simple write test. Here is how: <br /> <br /><b>Emtec</b> <br /><pre><code># sync <br /># echo 3 > /proc/sys/vm/drop_caches <br /># dd if=/dev/zero of=/dummyfile bs=1M count=1024 conv=fdatasync oflag=direct <br />1024+0 records in <br />1024+0 records out <br />1073741824 bytes (1.1 GB, 1.0 GiB) copied, 654.566 s, 1.6 MB/s</code></pre>< <br /> <br /><b>Lexar</b> <br /><pre><code># sync <br /># echo 3 > /proc/sys/vm/drop_caches <br /># dd if=/dev/zero of=/mnt/sde2/dummyfile bs=1M count=1024 conv=fdatasync oflag=direct <br />1024+0 records in <br />1024+0 records out <br />1073741824 bytes (1.1 GB, 1.0 GiB) copied, 203.636 s, 5.3 MB/s</code></pre>< <br /> <br />Horrifying, yes indeed! 1.6MB/s versus 5.3MB/s <br />I will use those Emtec sticks for archival purposes, as I keep old releases of Quirky and other distros. For actual usage, no! <br /> Testing 8.2.2 flash stick Linux Development has been very intense since the release of Quirky Xerus64 8.2. There has been so much help on the Puppy forum! <br /> <br />Lots of bugs have been found, some improvements, and even new packages. So many changes, that the next release will be 8.3, not just a "bug fix" release. <br /> <br />I have a request for testers. I have built an image for a 8GB or greater USB Flash stick, now at version 8.2.2, take this as being a beta for 8.3. <br /> <br />There is a need to confirm that this image file works. Back in the early days of UEFI-firmware "BIOS" -- though, I use the word "BIOS" to refer to pre-UEFI PCs, for simpleicity, and just call the new type "UEFI". Anyway, the early days -- I read that UEFI does not boot on flash sticks with MBR, rather than GPT, because some early UEFI firmware was buggy, did not follow the UEFI Standard. <br /> <br />However, I think that might be OK now, so with great relief have built the 8.2.2 image with MBR rather than GPT. It still should bootup on PCs with UEFI, and "legacy boot " NOT turned on. <br />I tested on two UEFI PCs, but would like more confirmation. <br /> <br />Also, if write to a bigger stick than 8GB, say 16GB, there is a checkbox in QuickSetup to grow the partition to fill the drive -- I would like confirmation that this works. <br /> <br />Here is the download link: <br /><a href=></a> <br /> <br /> New network icons Linux Puppy forum member rerwin posted a patch for some network icons that are in woof-CE but not in woofQ (and hence not in Quirky): <br /><a href=></a> <br /> <br />I have put those icons in to woofQ, in /usr/share/pixmaps/puppy. <br /> <br /> Partition resize fixed Linux At first bootup from a USB stick, full installation, the QuickSetup window has a checkbox asking if want to resize the partition to fill the drive. This is for the situation where the nominal "8GB" image was written to a bigger drive. <br /> <br />Or rather, it is supposed to ask. In 8.2, the checkbox is missing. Which, it turns out, is a good thing, as resizing is broken. <br /> <br />It came about from a 12th-hour fix that I did before releasing 8.2. Fixed one thing, broke another. <br /> <br />Now have the checkbox appearing, testing with a 16GB stick. Also fixed the scripts in the "easyinit" ramdisk, so resizing now works. <br /> <br />Looking back over development since 8.2 was released, only 8 days ago, it has been very intense, so the next release should be much more than a "bug fix" release. Reckon will make it 8.3, with an RC before that. <br /> XkbConfigManager fixes, plus more Linux Some quick notes about latest fixes. <br /> <br />The Advanced Xorg Keyboard Manager is broken. Non-US selections were staying stuck on US layout. <br />I think it is now fixed. It used to be that keyboard layout rules were in /etc/X11/kbd, with /usr/share/X11/kbd a symlink to there. However, a change occurred in recent builds of Quirky, with /etc/X11/kbd an empty folder, with the rules only in /usr/share//X11/kbd -- this breaks XkbConfigManager. <br />Now fixed. <br /> <br />Various other fixes: <br />Removed F12 key binding in JWM. <br />Improved messages when creating a boot-CD. <br /> Pschedule overhauled Linux Puppy forum member zigbert has created lots of apps for Puppy, some of which are in Quirky. For example, Pburn, Pmusic and Pschedule. <br /> <br />Pschedule forum thread: <br /><a href=></a> <br /> <br />There have been reports, every now and again, about Pschedule not working correctly, but it never got resolved, not as far as I know. <br />Most-recent discussion is here: <br /><a href=></a> <br /> <br />I have taken another look at Pschedule, and redesigned it to use /etc/init.d/80-crond, rather than /root/.config/autostart. <br />80-crond comes from jamesbond, and I modified it to suit busybox crond and Pschedule. <br /> <br />Here is the PET (7KB): <br /><a href=></a> <br /> <br />Note also, radky has upgraded PupSysInfo, now version 2.7.2 (39KB): <br /><a href=></a> <br /> SQLiteManager addon Linux SQLiteManager is a database manager addon for Mozilla browsers, such as SeaMonkey and Firefox. <br /> <br />I found the latest source on github: <br /><a href=></a> <br /> <br />What prompted me to look at this, is this forum post by musher0, about sqlit3 mime-type: <br /><a href=></a> <br /> <br />I downloaded the source and ran the build script, which created 'sqlitemanager-' and 'sqlitemanager-'. The former only has en_US. I chose to use the latter, with all languages, though the size is 251KB compared with 115KB. <br /> <br />I have created a PET (229KB): <br /><a href=></a> <br /> <br />Note that the .xpi file had to be renamed to '' for SM to recognise it. <br /> <br />After installation, there will be an entry in the Business category of the menu, to launch it standalone. <br /> MRUF-lst recently-used files Linux Forum member musher0 has developed a very interesting app to show recently-user files and directories, and launch them. <br /> <br />Forum thread: <br /><a href=></a> <br /> <br />musher0 posted a PET without the binary executables, as they are in Quirky 8.2. <br /> <br />Great work. I took the liberty of massaging the PET a little bit. I wasn't happy that there are configuration files in /usr/local/bin, so I applied the simplest fix, moved all of /usr/local into /usr/local/MRUF-lst, and edited the scripts. <br />That's just my preference. <br /> <br />Also fixed where 'dirname' was outputing an error message that operand missing. <br />Changed and pet.specs slightly. <br /> <br />Here it is (105K): <br /><a href=></a> <br /> <br />This will be in the next release of Quirky, for testing. <br /> Planning for Quirky Xerus 8.2.1 Linux Feedback for 8.2 is continuing to pour in: <br /><a href=></a> <br /> <br />I am getting so much help, bug reports, fixes, improvements, it is looking like 8.2.1 is going to be much more than just a "bug fix" release. <br /> <br />I will have to draw the line, probably whatever appears in the forum thread tonight. Then tomorrow will implement some of the latest fixes and enhancements. <br /> <br />Then maybe, 8.2.1 in a couple of days. <br /> <br /><b>Easy</b> <br />The thing is though, I also want to work on Easy Linux, my radical fork of Quirky. The previous release of Easy was built with packages compiled in OpenEmbedded, which has the great advantage of less bloat. <br /> <br />However, this time I am thinking will build Easy from the same Ubuntu Xerus 16.04.2 DEBs as used in Quirky 8.2. <br />This is the easiest approach, as all the work done on 8.2 will carry into Easy. Just have to live with a much bigger 'q.sfs' file. <br /> <br />Roughly, you have to multiply the size of 'q.sfs' by 1.5, going from OE 'Pyro' to Ubuntu Xerus packages. <br />So, for example, 300MB would become 450MB. <br /> SQLite Manager addon for SeaMonkey Linux And Firefox! <br /> <br />Forum member musher0 posted about SQLite-Manager, and mime-handling for sqlite3 files: <br /><a href=></a> <br /> <br />I hunted around, found that the developer of SQLite-Manager is now on github: <br /><a href=></a> <br /> <br />And frontpage: <br /><a href=></a> <br /> <br />It has commits only 25 days ago. <br /> <br />I'm thinking of making it into a pet, for inclusion in next Quirky. <br /> Linux kernel 4.11.12 Linux I have compiled kernel 4.11.12, with two third-party patches. <br />Firstly, aufs, secondly realtek 8723bu wifi driver. <br /> <br />I also brought back the "usb-storage" patch, which is a small patch that logs some extra USB memory probing to dmesg. <br /> <br />Configured the kernel as before, except one change, disabled Device Drivers --> SATA --> legacy ISA PATA Support. <br />This was builtin, now have completely removed it. This is CONFIG_PATA_LEGACY. <br /> <br />The wifi driver is needed for the Alpha Litebook, and the CONFIG_PATA_LEGACY caused slow bootup. <br /> <br />PETs (41.7M, 1.1M, 146M): <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />Kernel source, patches, build scripts: <br /><a href=></a> <br />u#se#r: p#up#py p#as#sw#d: l#in#ux <br /> Fontwizard improved Linux Fontwizard version 0.0.1 was released by 01micko in January 2013. This is a GUI app for enhancing fonts for LCD screens. <br /> <br />It has languished since then. I can't find where 01micko originally announced it, and there don't seem to have been any later versions. <br /> <br />There are some issues with fonts in Quirky Xerus 8.2, that we are discussing in the forum. <br /> <br />Forum member radky is the creator of some great apps that are in Quirky. The latest addition is JWMDesk, and using it has lead to the fonts discussion. <br /> <br />Here is a post by radky: <br /><a href=></a> <br /> <br />This is excellent. I have put this new script, 'fontwizard' into the PET, and updated the version from 0.0.1-1 to 0.0.2 (2KB): <br /><a href=></a> <br /> pEqualizer fixed, maybe Linux pEqualizer is a GUI equalizer created by 01micko and zigbert, that can run standalone and is also used by Pmusic. <br />Forum thread: <br /><a href=></a> <br /> <br />Quirky 8.2 has version 0.9.0, which we have found to be broken: <br /><a href=></a> <br /> <br />I searched online and found, which has a bugfix so it will work in Slacko. However, still broken for Debian/Ubuntu. <br /> <br />I have fixed pEqualizer and bumped the version to 1.0.1 (5KB): <br /><a href=></a> <br /> <br />Note to users of Quirky 8.2, you will need to install 'caps' and 'libasound2-plugin-equal' DEBs from the Package Manager. <br /> <br />I am still not sure if it is working, there may be a problem with using the utility 'amixer', that pEqualizer calls. <br /> Sound and keyboard buglets Linux Forum member Philb has been testing Quirky 8.2 and reported some little bugs. <br /> <br />For a frugal installation, audio level settings were not being preserved over a reboot. Fixed. <br /> <br />At first bootup, if a non-US keyboard is chosen in the main window of QuickSetup, it is followed by XkdConfigManager, which is to fine-tune keyboard layout localization. <br />There was a "Please wait" popup on top of the latter window. Fixed. <br />There were also a couple of missing icons on buttons in XkbConfigManager, also fixed. <br /> Multiple Sound Card Wizard improved Linux Quirky 8.2 tester Philb reported some sound issues, and posted a link to an improved MSCW by Geoffrey: <br /><a href=></a> <br /> <br />Geoffrey's forum post is here: <br /><a href=></a> <br /> <br />...that thread continues on with improvements by jlst, and I even see that I posted, that I had downloaded jlst's PET -- however, I got distracted then never got back to it. <br /> <br />Quirky has MSCW (Multiple Sound Card Wizard) version 2.2. This was originally written by kirk, with updates by npierce, rodin.s, 01micko, BK (me). <br /> <br />I have put Geoffrey's script into the PET and bumped the version to 3.0. The PET has a script, that renames /usr/bin/alsamixer to alsamixer.bin, and alsamixer.script to alsamixer -- that was in 2.2 and left it in 3.0. <br /> <br />I haven't checked out the PET by jlst, and Philb has reported that Geoffrey's script works, and it is fairly minimal change to the previous script. <br /> <br />The new PET (2KB): <br /><a href=></a> <br /> Quirky Installer improved Linux The Quirky Installer, which is launched via the "install" icon on the desktop, or in the menu Setup --> Quirky Universal Installer, has a couple of limitations in Quirky 8.2. <br /> <br />One of the Quirky testers complained that he had to download the ISO file a second time, to do an installation to a partition. <br />I don't know why, as he would have downloaded it to burn the live-CD -- presume he must have deleted it after that. <br />Anyway, I have taken it onboard to fix... <br /> <br />Installing to a drive or partition, it requires the downloaded ISO, from which to extract the files. The frugal install, on the otherhand, allows a choice of ISO, CD, or a folder (with vmlinuz, q.sfs and initrd.q). <br />I have enhanced install to drive or partition to also have this flexibility. <br /> <br />Another tester complained that installation is very slow. Yeah, even with my i5 CPU, a frugal install is painfully slow. A "Please wait..." message displays, and you have to wait, and wait. <br />The install script opens up q.sfs, using 'unsquashfs', modifies it, then creates a new q.sfs in the target location. The script has a 'sync' operation after running 'unsquashfs' and this is the holdup. q.sfs is about 400MB, xz compressed, and expands to about 3 times that, which the 'sync' flushes to the drive. I am surprised how slow that is. Um, but I am doing the work on an external USB drive. <br /> <br />Anyway, I have greatly speeded up the script by not having 'sync', instead just a 'fsync' on the target q.sfs. But then, my PC has 16GB of RAM, so a big advantage not syncing. <br /> <br />All of this work is happening in /usr/local/install_quirky <br /> Sub-100 dollar x86 combo boards Linux I have an interest in x86 hacker boards, in the price range where they compete with the plethora of cheap tiny ARM-based boards. Not just price, but cost-effectiveness, the features that you get for that price. <br /> <br />The chap who runs also has an interest in this, and posts whenever he finds some new inexpensive x86 board. <br /> <br />Leaving out boards that come in an enclosure for now, just looking at bare "combo" boards with a CPU, there are some sub-US$100. <br /> <br /><b>Sapphire BP-LX210KL</b> <br /><a href=></a> <br /><img src= /> <br />That is the most amazing heatsink! <br />The price is reported as US$89, but I cannot confirm that, and I doubt an individual purchase price would be that low. I noticed one comment that it doesn't have sata and msata is dying. <br /> <br /><b>ASRock N3150</b> <br />These are available for around US$70 to US$80, for individual purchase. <br /><a href= <br />> <br /></a> <br /><img src= /> <br /> <br /><b></b> <br />This site has lots of x86 boards: <br /><a href=></a> <br /> <br />With these boards, we have to factor in the cost of memory and power supply, and postage. I can buy 4GB DDR3 RAM locally for AU$38, which is about US$29. <br />There doesn't really seem to be an x86 "ARM-killer" hacker board out there yet. <br /> Auto disable touchpad if external mouse connected Linux While researching how to fix the touchpad on the Alpha Litebook, I came across this page: <br /><a href=></a> <br /> <br />Noticed a udev rule to disable the touchpad if an external mouse is detected. For myself, I like this, as find it annoying when accidentally brush the touchpad and it does something unexpected. I always use a USB mouse. <br /> <br />So, have put this into woofQ, file /etc/udev/rules.d/01-touchpad-disable.rules: <br /><pre><code># ref: <br /># disable touchpad if mouse detected... <br />SUBSYSTEM=="input", KERNEL=="mouse[0-9]*", ATTRS{name}!="*TouchPad", ATTRS{name}!="*Stick", ACTION=="add", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/username/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1" <br />SUBSYSTEM=="input", KERNEL=="mouse[0-9]*", ATTRS{name}!="*TouchPad", ATTRS{name}!="*Stick", ACTION=="remove", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/username/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0"</code></pre>< <br /> <br /> pmcputemp CPU temperature monitor Linux There hasn't been a temperature monitor in the tray in Quirky for a long time, however, I notice that a couple of testers of 8.2 have installed pmcputemp. <br /> <br />pmcputemp is created by 01micko (Michael), who is also the guy behind the Slacko Puppy Linux releases. 01micko is also one of the main guys who setup, and continues to maintain, woof-CE, the community-based build system for Puppy Linux. <br /> <br />Here is forum discussion of pmcputemp: <br /><a href=></a> <br /> <br />The latest source is here: <br /><a href=></a> <br /> <br />I have compiled it in Quirky Xerus 8.2 and created a PET. This will be in the next release of Quirky. <br /> <br />My desktop midi-tower runs so cool. The thing has fans all over it. It is a PC that I bought secondhand earlier this year, and it continues to run well. <br />pmcputemp was reading around 22 degrees C, so I watched NASA live-feed from space, at 720p -- very nice -- and the temperature crept up a bit, peaked at 35 degrees. <br /> <br />The NASA feed: <br /><a href=></a> <br /> woofQ tarball uploaded Linux For anyone who wants it, this is a tarball of woofQ, as used to build Quirky Xerus x86_64 version 8.2 final. <br /> <br />Download (47M): <br /><a href=></a> <br />md5sum: <br /><a href=></a> <br /> <br />It will expand to folder 'woof-project' and at woof-project/quirky/ there is a README file, also another useful README inside woof-project/quirky/woof-code. <br /> <br />Note, I maintain woofQ online as a "bones" minimalistic VCS, see explanation here: <br /><a href=></a> <br /> Quirky Xerus64 8.2 final Linux This is it, the final official version 8.2 release of Quirky Linux Xerus series. This is for PCs with x86_64 (64-bit) CPUs. <br /> <br />Announcement blurb and release notes are here: <br /><a href=></a> <br /> <br />There is a beautiful new theme: <br /><img src= /> <br /> <br />There is a choice to download, either a live-CD ISO file, or an image file for 8GB or greater USB Flash stick. Install instructions: <br /><a href=></a> <br /> <br />Primary download site: <br /><a href=></a> <br />Fast mirror: <br /><a href=></a> <br /> <br />To turn Quirky into a complete compiler environment, install just one PET package (334M): <br /><a href=></a> <br />Also, kernel patched source is available as a PET (146M): <br /><a href=></a> <br /> <br />To patch and compile the kernel: <br /><a href=></a>, and <br /><a href=></a> <br />U#se#r: p#up#py P#as#sw#or#d: l#in#ux <br /> <br />Forum thread for feedback: <br /><a href=></a> <br /> <br />Please note that I have not provided a Service Pack to upgrade from Xerus 8.1.6, as I want to examine some possible issues with the mechanism. I do expect though, upgrade to 8.2.1 will be by a simple Service Pack PET package. <br /> Alpha Litebook laptop Linux Puppy Forum member muggins (David) purchased one of these laptops: <br /><a href=></a> <br /> <br />However, he decided that he didn't want it, and offered it to me. I offered to pay him something, but he didn't want any money. That is extremely generous. <br /> <br />The reason behind the offer, is I posted awhile back that I wanted to replace my baby laptop with Cherry Trail CPU, as it has problems running Linux. <br /> <br />The Alpha Litebook has a Intel Celeron N3150 CPU, which is 14nm technology, 6W TDP and 1.6GHz (2.1GHz burst). This is a more Linux-froendly CPU. <br /> <br />It arrived this afternoon, and I eagerly fired it up. It comes with Linux, however, I am keen to run Quirky Linux on it. <br />No problem with configuring the UEFI-setup to boot from a Quirky Xerus 8.2 USB stick, but... <br /> <br />The kernel loaded, then just got a blank screen with a blinking cursor at lop-left. Rebooted with "loglevel=7" so I can see what is happening, and saw messages like this: <br /> <br /><i>ata3: Link is slow to respond, please be patient (ready=0) <br />ata3: SRST failed (errno=-16) <br />ata3: Reset failed</i> <br /> <br />Anyway, after 2 minutes and 20 seconds, spewing out the above messages repeatedly, it booted and I got a desktop. Well, after bootup, it all looks good, sound, drives all working. <br /> <br />I examined the GRUB config, can't see any special kernel boot parameters. So, the next thing to do is compare the kernel configuration of the Linux that the laptop came with. It is kernel 4.4.66. <br /> <br />Quite a nice laptop, hi-res screen, good specs for such a low price. <br /> Quirky Xerus64 8.2 coming soon Linux I thought that I had built 8.2 final this afternoon, but it failed one test. This is what can happen when one introduces changes at the 12th hour. <br /> <br />The problem is the introduction of the ntfs-3g driver into the initramfs, as I reported yesterday: <br /><a href=></a> <br /> <br />I had compiled this driver statically sometime ago, I thought that it was configured to use its internal fuse driver. The ntfs-3g driver can be configured to have its own internal fuse driver, or use the fuse driver of the Linux kernel. <br /> <br />Testing "8.2", the ntfs-3g driver reported fuse to be missing. There is no setup to have kernel modules in the initramfs, all drivers required for bootup are expected to be builtin to the kernel. <br /> <br />Instead of recompiling the ntfs-3g driver, I decided to recompile the kernel. Have bumped to the latest, 4.11.11, and just made one change, fuse driver now builtin. It is compiling right now. <br /> <br />So, hopefully, 8.2 will be out about another 24 hours from now. Will of course have to do more sanity testing before releasing. <br /> YASSM 3.0 Linux As well as the "peasy" series, rcrsn51 also created Yet Another Share Mounter (YASSM) for Samba. Now up to version 3.0: <br /><a href=></a> <br /> <br />Quirky has version 2.9, have updated to 3.0. <br /> ntfs-3g driver in initramfs Linux The guys on the Puppy Forum are testing Quirky 8.1.94, most recently an issue with ntfs: <br /><a href=></a> <br /> <br />There is something strange going on here. The Linux kernel has the ntfs driver builtin, and configured to allow writes when ntfs partitions are mounted. <br /> <br />Except that we can't. Get an error when try to write. It used to work, something has changed. <br /> <br />Anyway, writing to an ntfs filesystem is supposed to be less reliable using the kernel driver, and ntfs-3g fuse-based driver is preferred. <br /> <br />I didn't have ntfs-3g in the initramfs as compiled statically it is about 410KB. Have now put it in and modified the 'init' script to use it. <br /> <br />This is a good thing, as writing to ntfs filesystems will now be more reliable. Though, it may be possible to avoid writing from the initramfs, and remount with ntfs-3g when running in the main Quirky f.s. <br /> <br />The downside of ntfs-3g is that being fuse-based, it is slow. <br /> JWMDesk 2.3 Linux Forum member radky has created JWMDesk, a very comprehensive GUI desktop manager, for configuring JWM and many other things: <br /><a href=></a> <br /> <br />It overlaps configuration tools already in Quirky, however has the advantage of being an integrated manager. <br /> <br />So, I have decided to give it a go in Quirky. The latest version is 2.3, and I have created a PET named ''. The "-1" is because I have made a couple of changes -- I removed the '' file, and created /usr/local/jwmdesk/window_width with "510" in it. <br /> <br />The problem with is that it has absolute paths in it, so not suitable for woof* builder. Also, I scanned through it, and I couldn't see anything that is really required. Admittedly, my look was brief, but a quick check (also brief), it seems to work without having run <br /> <br />JWMDesk will be in the next Quirky. <br /> UrxvtControl 1.3 Linux Ha ha, I was lamenting the proliferation of GUI popup message box utilities in Quirky: <br /><a href=></a> <br /> <br />I have now removed one of them: 'yad'. <br /> <br />It is only required by 'urxvtset', a urxvt terminal emulator configuration utility: <br /><a href=></a> <br /> <br />However, I have removed urxvtset, replaced it with radky's UrxvtControl 1.3: <br /><a href=></a> <br /> PupSysInfo 2.7 Linux Puppy forum member radky created PupSysInfo, a very detailed system information GUI app for Puppy. <br /> <br />Quirky has version 2.6.3, however radky has released 2.7: <br /><a href=></a> <br /> <br />I have upgraded the PET for Quirky. <br /> <br />Note, Quirky also has HardInfo, which is written in C and requires GTK. <br /><a href=></a> <br /> <br />They are similar, but PupSysInfo is specifically designed for Puppy (and Puppy-derivatives), so provides more Puppy-specific information. <br /> PeasyPort 2.2 Linux Puppy Forum member rcrsn51 created the "peasy" series of apps for Puppy. <br /> <br />Quirky has many of them, including PeasyPort, a network scanner. Quirky has version 2.0, but rcrsn51 has now released version 2.2: <br /><a href=></a> <br /> <br />I have created a PET, named '' and updated Quirky. <br /> <br />Note, rcrsn51's PET has two binary executables, 'pnscan' and 'arp-scan', but Quirky already has those, so I have repackaged the PET without them. <br /> aemenu-pango, replaceit Linux These are a couple more binary utilities used by musher0 in his recently-used-files PET. I have decided to put these utilities into Quirky. I already posted about 'bcm' yesterday: <br /><a href=></a> <br /> <br /><b>aemenu-pango</b> <br />This is the aemenu utility from the wewm project, modified by vovchik to support pango markup of text: <br /><a href=></a> <br /> <br />I have compiled it in Quirky Xerus 8.1.94 and created a PET. The binary will be at /usr/bin/aemenu-pango <br /> <br /><b>replaceit</b> <br />This is a simple text file string replacement utility: <br /><a href=></a> <br /> <br />I have compiled it and created a PET. The binary will be at /usr/bin/replaceit. <br /> Live-CD ask save at shutdown Linux When Quirky Xerus is booted from CD, or a frugal installation, there is a "save" icon on the desktop, for saving the session to internal or external drive. <br /> <br />The save window has a checkbox, which if ticked, will bring up the save window at every shutdown. This defaults to unticked, as I was thinking of users who might only want to save a session occasionally. <br /> <br />However, one tester reported having lost some work, setting up a theme. He forgot to save. Hmmm, this is because he has a Puppy Linux background, where a window pops up at shutdown asking if want to save the session. <br /> <br />In deference to those with a Puppy Linux background, I have changed the default to ask at shutdown. <br />So now, even if you have never clicked the desktop "save" icon, you will be asked at shutdown. Every shutdown, but you can untick the checkbox if you don't want to be asked at every shutdown. <br /> bcm popup messages Linux BaCon Cairo Messenger (bcm) is a popup message box for shell scripts, written by forum member vovchik. <br /> <br />Oh dear, not another one! I am losing count of how many there are already in Quirky. Well, we have these: <br /> <br /><i>pupmessage, xdialog, gxmessage, xmessage, popup, gtkdialog, yad, pupdialog, gtkdialog-splash</i> <br /> <br />So, why not have one more! <br /> <br />I was reading about MRUF created by musher0, a PET to list most-recently-used files. His PET has three binary executables, so I thought why not put those binaries into Quirky. <br /> <br />Starting with bcm. This is a very pretty popup messenger thingy, written in BaCon. Vovchik posted about it here: <br /><a href=></a> <br /> <br />I have compiled it and created a PET. It will be in the next Quirky. It is /usr/bin/bcm, only 39KB. I also included the source in the PET, /usr/share/doc/bcm/bcm.bac and a help file, bcm.txt. <br /> Take-a-Shot screenshot utility Linux Quirky 8.1.94 has two screenshot utilities, and old one, mtPaint-snapshot, and one created by 01micko: Screeny. <br /> <br />Yesterday, musher0 informed me that there is a very good screenshot utility named Take-a-Shot, created by SFR. <br /> <br />I looked, here it is: <br /><a href=></a> <br /> <br />Tried it out, it sure is cool. So, it is going into the next Quirky. <br />I will leave the others in, so users will be spoilt for choice. But, they are so tiny, doesn't matter. <br /> GetFlash get Flash Player fixed Linux Forum member shinobar originally wrote GetFlash. Quirky Xerus 8.1.94 has version 1.5-4b, but testers have reported it no longer works, that is, fails to download the latest Adobe Flash Player. <br /> <br />Fortunately, some of the guys, rerwin, Geofrey and Sailor Enceladus, have continued work on it. The latest is 1.7-1: <br /><a href=></a> <br /> <br />I have tested it, it works. This will be in the next Quirky. <br /> <br />Note, it has an optional new feature, created by Geoffrey, to auto-update the Flash Player. It defaults to off, but if you want to try that feature, note that sszindian reported that it locks up SeaMonkey: <br /><a href=></a> <br /> <br />I don't know why it would lockup, unless the update is happening after SeaMonkey has been started. <br /> Puppy versus Quirky Linux A tester of Quirky Xerus64 8.1.94 (8.2beta), has complained about the lack of a "pupsave" file, and slow shutdown. <br /> <br />Someone with a Puppy background needs to be aware that Quirky has some philosophical differences from Puppy, and be prepared to embrace them. <br /> <br />Quirky is intended primarily to be a full installation. For other distributions, such as Ubuntu, Debian and Slackware, a full install is all they offer. Basically, a full install just means that the distro occupies an entire partition, and it has to have a Linux filesystem, such as ext4. <br /> <br />A full install may or may not have an initramfs. This is a mini-Linux that runs in RAM before the main distro partition is started up. Quirky does not have a initramfs. Debian for the desktop does, for the Pi doesn't. <br />The reasons for and against an initramfs are a topic for another time! <br /> <br />Quirky's full install has a fundamental difference from other distros, due to the ramdisk-based snapshot/recovery/rollback mechanism, called "easyinit". <br /> <br />Quirky is deployed as a live-CD ISO file, but this is not as flexible as Puppy. Puppy has several modes, known as PUPMODEs, one of which is, running from live-CD, to have a "pupsave" file mounted as a layer in the aufs layered filesystem. <br />What this means is that all changes get automatically and immediately saved to hard drive. The downside to this is that it is limited by the size of the pupsave file, but then, if you make it big to start with, say 5GB, then you are good to go for awhile. <br />Ditto for a frugal installation -- this is similar to a live-CD in that Puppy can also have a pupsave file. <br /> <br />Quirky live-CD and frugal installation run totally in RAM. There was a philosophical choice made not to use a pupsave file. One reason is for those people who want to be as invisible on the Internet as possible, or as secure as possible. any changes happen in RAM only. The user can choose to save the current session at any time, by clicking the "save" icon on the desktop. But a security-conscious user may choose to do that only when there is some change, such as Internet-setup, or a package installed. <br /> <br />Note though, Quirky can be configured to bring up the session-save window at every shutdown, so you can decide whether you want to save the current session or not. <br /> <br />There two limitations to consider with this totally-running-in-RAM situation: <br /> <br />One is the size of RAM. My laptop has 4GB of RAM, however Quirky assigns about 5.3GB working space -- this is because zram compression is used. So that's how much space you have for installing packages, caching, etc. Though, Quirky dumps all caching in /var at shutdown, to save space. <br />So, if you have a reasonable amount of RAM in your PC, you are pretty much OK. If you download files, you would do that to the hard drive, so as not to bulk up your session in RAM -- so you do need to have that awareness. <br />There is a storage icon in the tray that will start flashing if RAM space is getting low. <br /> <br />Two, as everything is running in RAM, when you save a session to hard drive (or external drive), the session has to be copied in its entirety to the save-file. In Quirky, the save-file is named s.sfs, and it is a squashfs filesystem. And yes, if at any time you want to see your saved files, just click on s.sfs and you can view the contents. <br />Saving a session is done by the 'mksquashfs' utility, and the time this takes depends on how much there is to save. It starts off just a couple of seconds. If your session grows to say 5GB, then a save may take a minute. <br /> <br />There are some future possibilites for keeping the session small. For a frugal installation, there is q.sfs (all of Quirky) and s.sfs. It is possible to transfer installed packages out of s.sfs, to q.sfs. It could even be done when the package is installed. <br /> <br />In fact, I might do this soon, as it is easy to implement. When you click on the "save" icon, Quirk could detect if you have installed packages and offer to move them permanently into q.sfs. That frees up your working space in RAM, and s.sfs stays small. <br />This will even work with a live-CD, not just a frugal installation. <br /> <br />Regarding other interesting ways of running Quirky, I am exploring those in the latest branch, Easy Linux. <br /> Xorg Wizard partly broken Linux Testing Quirky Xerus64 8.1.94, I have a problem. Exit from X to the commandline, type "xorgwizard". <br /> <br />This enables the user to make manual choices, such as which video driver to use. For example, Xorg might autodetect and use the 'intel' video driver, but you might prefer to use the 'modesetting' driver. <br /> <br />The wizard offers a choice of drivers. On my laptop with hybrid Nvidia and Intel graphics, The drivers that I expect the wizard to offer are: vesa, modesetting, nouveau, nv and intel. <br />Assuming those Xorg drivers exist, many distros don't have 'nv' anymore (it is an unaccelerated Nvidia driver). <br /> <br />However, the wizard only offers me vesa and modesetting. <br /> <br />The wizard, which is script /usr/sbin/xorgwizard-cli, runs "Xorg -configure" to probe for various things, including what drivers are appropriate. <br />What I have found over the years is that "Xorg -configure" has provided less information. Now it provides no information at all (running Xorg 1.18.4). <br /> <br />It would be so nice if the Xorg developers remove an option that now does nothing! <br /> <br />There are links that comment on this lack of info provided by "-configure", such as the comment "X -configure is a virtually useless anachronism": <br /><a href=></a> <br /> <br />...actually, no, it is still useful, or rather would be if it worked. <br /> <br />Anyway, I am going to have to do a big update to xorgwizard-cli. <br /> Quirky Xerus64 8.1.94 released Linux This is a beta release, the final will be version 8.2. The previous release of Quirky Xerus64, for PCs with 64-bit CPUs, was version 8.1.6, in January 2017. <br /> <br />Since then, I have mostly been working on other things, such as the experimental container-friendly Easy Linux. <br /> <br />I have, however, been aware of outstanding issues with 8.1.6. After deciding recently to work on a new version of the Quirky Xerus series, many things have been upgraded and fixed. <br />In particular, I found that the overlay filesystem is broken -- all prior releases use aufs, but for 8.1.6 and other builds around that time and since then, have used overlay filesystem, also known as "overlayfs". <br /> <br />Actually, I was not aware of the problems with overlayfs, as I use Quirky on a daily basis as a full installation, which does not use an overlay filesystem. In Quicky, only the live-CD and frugal installs use an overlay f.s. <br /> <br />Quirky Xerus 8.1.94 has returned to aufs, and it "just works". <br /> <br />There is a brand new theme, here is a snapshot: <br /><img src= /> <br /> <br />I tested a selection of videos, comparing VLC and Xine, and found the latter to perform better. For example, Big Buck Bunny at 2160p had missed frames and disintegration, whereas Xine played it perfectly. So, 8.1.94 has Xine-UI for multimedia. <br /> <br />There are two options to download, an ISO live-CD, and an image for a 8GB (or bigger) USB Flash stick. <br /> <br />Download from here: <br /><a href=></a> <br /> <br />Instructions for installing: <br /><a href=></a> <br /> <br />The devx and kernel-source PETs (334M, 146M): <br /><a href=></a> <br /><a href=></a> <br /> <br />Feedback is welcome at the Puppy Forum: <br /><a href=></a> <br /> fsck at bootup improved Linux Quirky is in one respect very different from Puppy, in that, after bootup, the first script /sbin/init, has the option of continuing to bootup (by executing /bin/busybox init), or switch_root to a ramdisk, where various diagnostic and maintenance operations can be performed. For example, a fsck of the installed partition. <br /> <br />The way this differs from Puppy, is Puppy can do a fsck earlier, in the initramfs. However, a normal full install of Quirky does not have a initramfs. <br /> <br />Testing on the Pi3, /sbin/init failed to switch_root to the ramdisk. It is a strange failure, but I think that I have fixed it. Have put the fix into the script, haven't tested on the Pi yet. <br /> Fixing Quirky save-session Linux Testers of Quirky Xerus64 8.1.6 experienced issues with saving a session in a live-CD or frugal installation. <br /> <br />The good news is that I fixed one show-stopper bug. It was to do with an incorrect path when using overlay instead of aufs. <br /> <br />The bad news is that I have hit another show-stopper bug, that seems to be a fault in overlay filesystem. <br />I am running kernel 4.11.9, so very recent overlay driver. <br /> <br />Booting the live-CD, have a zram on top, the read-write layer, and q.sfs on the bottom, the read-only layer. <br />When I tried to run "rm -rf <folder>" it spat out lots of errors about directories "not empty". <br /> <br />I googled, and found people reporting this error when using btrfs, or overlay. <br />btrfs I expect, it is flakey. <br /> <br />This is one of the overlayfs reports: <br /><a href=></a> <br /> <br />OK, I am going to compile the 4.11.9 kernel with aufs, see if that fixes it. <br /> New theme for Quirky Linux As I mentioned in a post yesterday, the last official release of Quirky Xerus x86_64 was in January 2017: <br /><a href=></a> <br /> <br />Ubuntu Xenial Xerus 16.04 is LTS (Long Term Supported), reaching EOL (End Of Life) in April 2021. <br />So, I intend to keep Quirky Xerus going for the next couple of years. <br /> <br />That being the case, we are due for another release. I intend this to be version 8.2, and a beta or RC before that. <br /> <br />Most of yesterday and this morning I worked on a new theme. Mostly created brand new themes for each of GTK, JWM, wallpaper and icons. <br />And, I have got to comment, it looks stunning. <br /> <br />I would probably have described some of my earlier themes as "stunning" also, such as the various green themes, but they weren't to everyone's liking. <br />This new one is very different, so we shall see ...I won't post a snapshot, will build the suspense <img src=/news/images/smilies/happy.png /> <br /> <br />I will be monitoring this forum thread: <br /><a href=></a> <br /> 0setup script fails in Woof Linux The '0setup' script in Woof* downloads package database files and converts them to Puppy-standard-format. <br /> <br />Sometime ago, yes I have a date, 160411, I applied a fix to the 0setup script in woofQ. UTF-8 multi-byte characters were breaking the script for Ubuntu-based builds. <br /> <br />These characters only occur in the description fields of the Ubuntu database files. <br /> <br />Back then, I inserted this code into 0setup, around line 200: <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 />Today, the script was again failing. But it wasn't obvious that it failed. The Ubuntu "updates" DB files were not getting completely converted to Puppy-format, it was stopping partway through. <br /> <br />I wouldn't have known, except that discovered a DEB that I knew to be in the updates db, wasn't in the build, only the original version. <br /> <br />It took me hours, staring at the screen and wondering what was wrong. Eventually, the penny dropped, the above code also has to be inserted further down, around line 398. <br />That's where the update database files are being downloaded. <br /> <br />Well, those line numbers are in woofQ, but I just now looked in woof-CE and the line number for insertion will be 272 ...oh, it has become very different from my script, that is the only place that I can see to insert. <br /> <br />Note, the failure occurs at the assignment of "MANIPULATED1". <br /> <br />Woof-CE page: <br /><a href=></a> <br /> <br />Note also, another way to do the conversion: <br /><i># perl -i.bk -pe 's/[^[:ascii:]]//g;' filename</i> <br />where filename.bk will become the original file. <br /> Kernel 4.11.9 and firmware Linux <b>Kernel</b> <br />Running Quirky Xerus x86_64 8.1.90 on my midi-tower PC, have compiled Linux kernel 4.11.9. This will be used in the next release of Quirky Xerus -- the official final release is expected to be version 8.2. Note, the current official release is 8.1.6, back in January 2017. <br /> <br />The PETs(31.4M, 1.1M, 145.7M): <br /><a href=></a> <br /><a href=></a> <br /><a href=></a> <br /> <br />The kernel source and build scripts: <br /><a href=></a> <br />u*se*rn*am*e: p*up*py p*as*sw*or*d: l*in*ux <br /> <br /><b>Firmware</b> <br />Have also created firmware PETs for networking and gpu. Note that creation of these PETs is quite easy. In a recent Quirky Linux, look in /usr/local/firmware. There you will find a couple of scripts and instructions. <br /> <br />I am currently getting most of the non-free firmware from here: <br /><a href=></a> <br /> <br />Firmware PETs (6.2M, 28.1M): <br /><a href=></a> <br /><a href=></a> <br /> Issy Simpson, magician General Ha ha, have been too serious, all these blog posts on Linux development. Now for something lighter... <br /> <br />I have been watching Britain's Got Talent on and off. Was most entertained by Issy Simpson. Don't know how she did most of it. <br /> <br />Here is her first performance: <br /><a href=></a> <br /> <br /><img src= /> <br /> <br />Assuming that it is not "real" magic, I think that I know how she did the box. Very simple actually. She just needed one of those suction cups that are used for lifting glass, builtin to the base of the box. <br /> <br />Like this one, that sticks and releases in seconds: <br /><a href=></a> <br /> <br /><img src= /> <br /> Intermittent hang at bootup Linux There is a very old bug, the PC hanging at bootup. Puppy Forum member ETP reported it. I looked at the code where the hang occurs. It only happens occasionally, well rarely, for me, so I have ignored it. But, ETP is getting it more frequently. It seems to be hardware related, and I have implemented what is probably a fix. <br /> <br />My response to ETP is here: <br /><a href=></a> <br /> <br />hdparm man page: <br /><a href=></a> <br /> <br />I see that woof-CE still has that line with "hdparm" (line 761), so maybe they should consider removing it also: <br /><a href=></a> <br /> Qsync internationalized Linux I wrote Qsync late last year, a GUI utility to sync the time via an Internet time server: <br /><a href=></a> <br /> <br />I neglected to apply 'gettext' to the strings. L18L has now done so: <br /><a href=></a> <br /> <br />Put into woofQ. <br /> <br /><b>Note:</b> <br />The last official release of Quirky, apart from various pre-alpha, alpha and beta experiments, was the PC x86_64 Xerus Quirky 8.1.6, in January 2017: <br /><a href=></a> <br /> <br />Ubuntu's Xenial Xerus is an LTS release, so still has life in it. Xerus 8.1.6 is what I am using everyday on my desktop PC. <br /> <br />So, time for a new release, I reckon. It will probably be Quirky Xerus 8.2, with at least one RC. <br />Apart from updating to the latest Ubuntu Xenial Xerus update DEBs, will probably also compile the latest SeaMonkey and Linux kernel (4.12?). <br /> mdview markdown viewer Linux Recently I uploaded my "oe-qky-src" to github, and installed Smartgit to manage it locally: <br /><a href=></a> <br /> <br />Then I realised, there is no viewer for markdown files. Markdown is the format used for readme files in github. <br />There isn't even mime type handling for markdown. <br /> <br />I determined that the correct mime type is "text/markdown": <br /><a href=></a> <br /> <br />And fantastic, we have an "in house" markdown viewer, named 'mdview', created by jamesbond. This is a GUI viewer, but also is a converter on the commandline, to formats such as html. <br /> <br />jamesbond's mdview project site: <br /><a href=></a> <br /> <br />Puppy forum thread discussing mdview: <br /><a href=></a> <br /> <br />woofQ is now setup to recognise the mime type, ROX-Filer will display a special icon, and click on a *.md file will open it in mdview. <br /> MoManager 20170630 Linux I wrote the original MoManager, a GUI to make it easy, well easier, to creat non-English language pack PETs for Puppy and Puppy-derivatives. <br /> <br />Forum member L18L has been maintaining it for some years now, and has greatly enhanced it. A forum thread is here: <br /><a href=></a> <br /> <br />The latest is '', which is essentially one script, /usr/sbin/momanager. I have copied this script into woofQ. <br /> <br />So, the pet is not needed, woofQ has, since the beginning, had that script builtin. <br /> Simple Network Setup updated Linux As I posted yesterday, I have started to examine rerwin's excellent work on improving the network connection scripts: <br /><a href=></a> <br /> <br />This morning, I finished sifting through rerwin's changes to SNS (Simple Network Setup). <br /> <br />His scripts cannot just be copied across, as mine in woofQ have diverged too much. It started awhile back, when zigbert rewrote the GUI components in woof-CE. <br />So, I have just picked out some recent fixes -- ha ha, and I see that rerwin has been doing the same in reverse! Good, that is what should be happening. <br /> <br />The scripts are in woofQ, rootfs-skeleton/usr/local/simple_network-setup. <br /> <br />This afternoon, might progress onto rerwin's other improvements, that is, frisbee and pgprs, plus some new infrastructure in 'network_connect_update' PET. <br /> /usr/lib/gtkdialog Linux I am very interested in the development that rerwin (Richard) is doing with the network connection scripts. See his post here, which also has links to other development threads: <br /><a href=></a> <br /> <br />I thought that I would start by looking at rerwin's improvements to my SNS (Simple Network Setup). <br />I downloaded the PET and opened it up. Right off, I noticed that the scripts access files in /usr/lib/gtkdialog. <br /> <br />I don't have that folder in woofQ. It was an initiative of 01micko about 3 years ago, and others have contributed. See woof-CE on github: <br /><a href=></a> <br /> <br />Quite a few newish PETs and scripts require this folder, so it behoves me to have it in woofQ. OK, done. <br /> No video at first, Pi2 and Pi3 Linux Testing my new Pyro build on the Pi, currently at version 0.3.2, X fails to start and it stays at the commandline. Then, I type "xwin" and X starts. <br /> <br />So, what's the problem? I found from /var/log/Xorg.0.log, that '/dev/dri/card0' is missing. Or rather it takes awhile to appear. <br />I put a wait-loop at the end of /etc/rc.d/rc.sysinit, and found that it takes 4 seconds for /dev/dri/card0 to appear!!!! <br /> <br />I discovered why, not the delay, but why we have this new issue. Pyro is compiled in OpenEmbedded with support for VC4 video acceleration. Read about it here: <br /><a href=></a> <br /> <br />In 'config.txt': <br /><i># Enable VC4 Graphics <br />dtoverlay=vc4-kms-v3d,cma-256</i> <br /> <br />So, looks like I need to put in a permanent wait-loop somewhere, before starting X. <br /> mount fail, partitions in image file Linux I have just hit a new failure, when building a distro in woofQ. <br /> <br />For the first time, I am doing the build in Pyro Quirky, on the Raspberry Pi3. These are packages compiled from source in OpenEmbedded. <br /> <br />The '3builddistro' script aborts with an error message "overlapping loop device exists". <br /> <br />What I have is a file which is a skeleton image file, to be written to an SD-card. This file has two partitions in it, the first is vfat, the second is ext4. <br />By the format "mount -t <fs> -o loop,offset=<bytes> <image file> <mount point>", both of these partitions can be mounted. <br /> <br />Up until now that is. 3buildistro mounts the ext4 partition first, ok, but fails when mount the vfat partition (the ext4 partition is still mounted). <br /> <br />I found, to get the vfat partition to mount, have to do "mount -t vfat -o loop,offset=<offset>,sizelimit=<size> <img> <mntpt>" <br /> <br />Where sizelimit is the size of the partition, in bytes. <br /> <br />This code has been around for a very long time, so why is it failing now? I found out why: <br /><a href=></a> <br /> <br />The situation is now an error, wasn't before. <br />I hadn't hit this before, as up until now have been using older versions of util-linux that did not have this "improvement". <br /> Puppy Linux Newsletter July 2017 Linux The Puppy Linux Newsletter is an initiative of smokey01 and other Puppy enthusiasts. The July edition is now out: <br /> <br /><a href=></a> <br /> Pyro RPi2 build underway Linux A mini progress report. <br /> <br />Having compiled almost all packages required for Quirky, and a typical Puppy and Puppy-derivative, I have imported the binary packages into woofQ. <br /> <br />Tonight, plan to do a build in woofQ, which will create a 8GB SD card image for the Raspberry Pi2 and Pi3. <br /> <br />On the Puppy forum, we do have a little community of guys with RPis, so I plan to upload it, if anyone is interested in trying it out. <br /> oe-qky-src on github Linux 'oe-qky-src' is my custom layer for OpenEmbedded, to compile from source all the packages required for a typical Quirky, Puppy, or other Puppy-derivative. <br /> <br />Furthermore, it is now on github: <br /><a href=></a> <br /> <br />There is a nice "readme". <br /> <br />If you look in quirky/meta-quirky/recipes-quirky, there are about 140 recipes, packages that I have imported to OE. <br />The reason that I had to do all this work, is partly because OE targets embedded systems rather than a generic Linux distribution. Also partly because Puppy and derivatives are different from other Linuxes, with a different selection of packages, and many unique to Puppy. <br /> <br />You will also see folder 'downloads-oe'. This has snapshot tarballs of OpenEmbedded, taken just when the Pyro release was announced. I have provided the snapshots so that anyone building oe-quirky will get the exact same result as me. <br /> <br />To help me manage the github site, I have brought back SmartGit. This is a very nice GUI git manager tool, that I experimented with about a year ago: <br /><a href=></a> <br /> <br />...seem to recall, forum member 'gcmartin' put those instructions together into a single file. <br /> <br />Here is my original blog post about SmartGit, April 2016: <br /><a href=></a> <br /> <br />I have got SmartGit installed on my mid-tower desktop PC, as well as the Adobe JRE version 8u131. <br /> <br />I did briefly look at some others, for example Gitkraken, Git-tool and GitAhead, but each one had problems. <br />SmartGit is very sophisticated, and above all "just works". It is free for non-commercial use. <br /> <br />If anyone downloads 'oe-qky-src' and does a build, they will have binary packages, but then what? They will need woofQ to build a distro. Currently I am only providing woofQ as tarballs, and will upload the latest soon. However, maybe should put that on github also (?). <br />The woof-CE guys could also import the packages from oe-qky-src, they will need my script '0pre-oe', that will be in the next upload of woofQ. <br /> <br />SmartGit website: <br /><a href=></a> <br /> OE build underway Linux As reported yesterday, I got through the long list of packages to be imported into OpenEmbedded: <br /><a href=></a> <br /> <br />To round it off, I also imported lots of xf86-video-* (Xorg video drivers) packages. However, several are cross-compiler unfriendly -- those are all exhibiting the same problem in the configure script, so I could probably figure out a fix. <br />For now though, will probably compile them in the target system and create PETs. <br /> <br />This evening have commenced the x86_64 target build, and am timing it. The previous build took about 9.5 hours. <br />This time there are many more packages, however that does not necessarily mean the build will take longer, as previously the last couple of hours was just libreoffice compiling, when all others had finished -- with a multicore CPU, those extra cores can be kept busy if there are more packages to compile. <br /> Netpbm compiled in OpenEmbedded Linux Ha ha, this needs an announcement on its own, as it took me all day. <br /> <br />Homepage: <br /><a href=></a> <br /> <br />The utilities are used in Puppy and derivatives, performing vital core functions. <br />I am still using version 10.34, as later versions had a bug with merging of overlaid images, or so I recall -- that is going back a few years, and perhaps the latest version has fixed whatever that bug was -- anyway, I am staying with the version that I know works. <br /> <br />There is a very old recipe for OE, for "classic OE" and netpbm 10.28. It did have some good stuff in it, that I was able to use, so would like to acknowledge that effort: <br /><a href=></a> <br /> <br />That recipe was just the starting point, and there were major challenges, but kept going and finally it compiled -- had a late evening meal! <br /> More imported, getting there Linux I have been reporting on the ongoing effort to import source packages into OpenEmbedded: <br /><a href=></a> <br /> <br />This morning, imported these: <br /><i>libgd <br />metamail <br />mhwaveedit <br />minixcal</i> <br /> <br />There's a dejavu thing going on here, as I went through this exercise later 2014, for T2, for example see this blog post: <br /><a href=></a> <br /> <br />I see 'gwhere' listed back then. failed this time, put it in the too-hard basket for now. Some packages are inherently cross-compiler-unfriendly. Ditto for 'inkscapelite'. <br /> <br />T2 is different, it has a non-cross-compile mode (if host and target archs are the same), then able to chroot into the target rootfs. This enables gwhere and inkscapelite to compile. <br /> More packages imported to OE Linux I posted yesterday about the effort to import the rest of the Puppy/Quirky packages into OpenEmbedded: <br /><a href=></a> <br /> <br />Today I have imported this lot: <br /><i>gmeasures <br />gpart <br />gphotofs <br />gpptp <br />sgml-common <br />opensp <br />libofx <br />grisbi <br />homebank</i> <br /> <br />Hmm, I thought that there were about a dozen still to do, but the list has grown, now another 22 waiting to be imported. <br /> Evince imported to OE Linux Evince is a nice PDF viewer. OpenEmbedded does have it, however, it is for gtk3, whereas my build is gtk2 only. <br /> <br />So, I imported the last version of Evince that supports gtk2, 2.32.0, with patches that "bring it up to date". This is the same Evince that I have been using in Quirky for awhile. <br /> <br />Source and patches are here: <br /><a href=></a> <br /> <br />I timed myself this time, it took one hour and five minutes to import Evince. Some of them take longer. I am only doing a few per day, so it is going to take awhile. <br /> <br />It is good that I am still able to build a complete distro with gtk2-based apps. Major projects such as seamonkey and libreoffice continue to support gtk2. There are a few "lesser projects" that have abandoned gtk2, such as evince and osmo, however, I am happy with older versions with patches applied. <br /> <br />I think that they made a mistake abandoning support for gtk2! <br />Mostly because it is a stable API, though I suspect sometimes developers do a bit more to it than they should -- it should just be maintenance patches. Compatible theming between gtk2 and qt is another big factor for me. <br /> <br />There is some interesting reading on this topic, gtk2 versus gtk3: <br /><a href=></a> <br />And about Audacious returning to gtk2: <br /><a href=></a> <br /> xdg-puppy imported to OE Linux Took a few hours, have imported 'xdg-puppy' into OpenEmbedded. It also required 'gnome-menus'. <br /> <br />I imported xdg-puppy into T2 a couple of years ago: <br /><a href=></a> <br /> <br />OE is a more difficult situation than T2, the makefiles do not work, had to setup $CC, $CFLAGS and $LDFLAGS especially. <br /> <br />xdg-puppy source latest now version 0.7.8: <br /><a href=></a> <br /> <br />Still using an old version of gnome-menus, as later versions were found to not follow the XDG specification for inline menus. Version 2.14.3: <br /><a href=></a> <br /> <br />A OE tarball with latest customization layer is expected to be uploaded soon. <br /> BaCon imported to OE Linux There are about a dozen source packages that I have not yet imported into OpenEmbedded, 'bacon' is one of them. <br /> <br />BaCon, a BASIC compiler, is needed as there are some utilities in Puppy and Quirky that are written in BaCon. The 'pup-tools' source package has these utilities. <br /> <br />It was a bit tricky to import BaCon, but got there, for a x86_64 target anyway. Reported on this to the BaCon forum, with the recipe for OE: <br /><a href=></a> <br /> <br />Next up, import 'pup-tools'. <br /> IUP multiplatform GUI toolkit Linux I have an interest in creating statically-linked GUI applications. An interest only, haven't actually done it yet. <br /> <br />There are some interesting possibilities with Xwoaf and tiny-X, maintained by Puppy forum member goingnuts, re static gui apps. <br /> <br />I have just discovered a GUI toolkit that is written in C, very simple, with a wide range of widgets and possibility of static linking: <br /><a href=></a> <br /> <br />...look at the "Guide" in menu in left frame. <br /> <br />I also discovered that a there has been some experimentation with using IUP with BaCon: <br /><a href=></a> <br /><a href=></a> <br /> Seagate 4TB desktop drive General I was considering purchasing a NAS (Network Attached Storage), however, decided on a simpler solution to my scattered storage problem -- one nice big portable drive. <br /> <br />Today bought a Seagate Expansion 4TB hard drive, for AU$199: <br /><a href=></a> <br /><img src= /> <br /> <br />As it has its own power supply, no problem with plugging this into any of my arm boards. So, can move it around as needed. <br /> <br />I own a 2.5 inch 2TB USB3 drive, that will probably get relegated to a backup role. <br /> OE Pi2 desktop works Linux A quick progress report. The build in OpenEmbedded for the Raspberry Pi2 went well and I imported the binary packages into woofQ and created an SD-card image. <br /> <br />Got a desktop, however needs a lot more work. <br /> <br />Some old PETs used in the build, do not work. "ldd" reports that they are "not executable". This is a problem I have had before, do not understand why. With x86, old binary executables can be used, usually without any problem as long as shared library APIs haven't changed. <br />However, not so with ARM, even though they are all compiled for armv7. <br /> <br />This problem means that I will have to recompile a lot of packages. That is, packages that have not yet been imported into OE. <br /> FreeFileSync Linux I found a great app, that does what it's name suggests: <br /><a href=></a> <br /><img src= /> <br /> <br />FFS runs on Linux, Windows and Mac. It is an open source project, and requires the wxWidgets multiplatform GUI toolkit. <br /> <br />Running Quirky 8.1.6 (based on Ubuntu 16.01 x86_64 DEBs), I compiled first wxwidgets 3.0.3: <br /> <br /><i># ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --with-zlib --with-expat --with-regex --with-sdl --with-opengl --without-gnomevfs --with-libiconv --with-libxpm --with-libtiff --with-libjpeg --with-libpng --with-gtk=2 --enable-plugins --enable-controls --disable-webviewwebkit --disable-metafiles --disable-joystick --disable-webview --disable-webkit --enable-utf8 --disable-mediactrl</i> <br /> <br />Compiling freefilesync 9.1 was just a matter of running "make", however it needed a few more DEBs to be installed. Then there were some compile errors. <br /> <br />A quick google showed a couple of other people hit the same failures. One of the chaps got two failures, and just avoided them by commenting out the offending lines. <br />I did the same, but there was one that is weird: <br /> <br /><pre><code>error, FreeFileSync/Source/fs/abstract.cpp <br />comment out line 82: <br /> //BKwarn_static("evaluate: consequences of stale attributes") <br /> <br />error: FreeFileSync/Source/ui/main-dlg.cpp <br />ui/main_dlg.cpp:959:68: error: ‘class wxListBox’ has no member named ‘GetTopIte ’ <br /> globalSettings.gui.cfgFileHistFirstItemPos = m_listBoxHistory->GetTopItem() <br />ref: <br />i have commented out line 959 <br />error: shouldRunPeriodicUpdateCheck <br />have commented out functions at lines 4770, 4785</code></pre>< <br /> <br />What is weird about that line 959 is the missing "m". The guy who got the same error, did have that "m". He commented out the line. <br />I did too, but wonder what the repercussion will be. <br /> WebAssembly Linux Having a electronic engineering background, and programming of microcomputers in assembly language, the title "WebAssembly" at caught my eye: <br /><a href=></a> <br /> <br />Interesting, it seems that it could even be used outside a browser, to create standalone apps. <br /> <br />Early days, but definitely a project to watch. <br /> Success building for Pi on OE Linux I am very impressed! Having used T2 for many years, where I would struggle for days trying to get packages to compile, this just sailed through. <br />Furthermore, it is a cross-build, which I have never been very successful with. <br /> <br />My complete package selection compiled, including kernel, kodi, firefox, gimp and libreoffice. <br />I had to take out nasm, yasm and xresprobe, as they are x86 only. <br /> <br />I am just now doing a rebuild from scratch, as there was one anomaly along the way, configuring mesa to be appropriate for the Pi. Although bitbake (the kind of "make on steroids" in OE) is very intelligent, I decided to do a complete clean rebuild. <br />That will take just over 9 hours. <br /> <br />Then the plan is to import the binary packages into woofQ and create a SD-image for the Pi2 (and Pi3). <br /> <br />I want to acknowledge the guys on the OE project who do all the hard work. It is a testimony to them, that I can come along with my package selection and have it all build, hardly without any issues, for x86_64 and Pi. <br /> Banana Pi R2 BPI-R2 board Linux Now this does look good: <br /><a href=></a> <br /><img src= /> <br /><img src= /> <br />No price yet, not yet for sale. The R1 model is selling for US$67. <br /> <br />Manufacturer's page: <br /><a href=></a> <br /> <br />There is also a wiki page on the R2: <br /><a href=></a> <br /> UDOO x86 board Linux Ha ha, loitering on the Internet, looking at small computer boards. How about this: <br /><a href=></a> <br /><img src= /> <br /> <br />Not that much higher price than the ESPRESSObin, and vastly more powerful. <br /> <br />UDOO website: <br /><a href=></a> <br /> Marvell ESPRESSOBin Board Linux Gee, if I had known about this when it was on Kickstarter, I might have pledged for one. In a nutshell, it ticks all the boxes. <br /><img src= /> <br />I just now read about it here: <br /><a href=></a> <br /> <br />As a low-cost board for making up a NAS system, it would be superb. Only the one sata interface though. <br /> <br />The asking price was US$79, for the 2GB RAM model, with power supply. That would be a tad over AU$100. Don't know about postage ...haven't read it all yet. <br /> <br />Here is the Kickstarter page: <br /><a href=></a> <br /> <br />Followed some links, found that they have a website: <br /><a href=></a> <br /> Building for Pi2 on OpenEmbedded Linux Have just completed an x86 i586 build in OpenEmbedded, and imported the binary packages into woofQ. However, have put that one on the back-burner for now. <br /> <br />Have downloaded the layer for the Raspberry Pi: <br /><a href=></a> <br /> <br />Also for the Hardkernel Odroid boards: <br /><a href=></a> <br /> <br />I know very little about how these Board Support Package (BSP) layers work. So, starting off slowly. Right now, doing a small build for the Pi2, just a basic CLI interface. <br /> <br />What I have done so far, with Quirky and Easy, is just extract the binary packages out of OE, to woofQ. However, I want to learn how the whole thing, right to an SD-card image, is created in OE. <br /> Pyro for i586 coming Linux I have released alpha builds of "Pyro64", Quirky Linux and Easy Linux built from binary packages compiled in OpenEmbedded. <br />This is for PCs with a x86_64 CPU. <br /> <br />OpenEmbedded is a cross-compiler, so in theory I can just change the specification for the target architecture, and off it will go, compile all the packages for that architecture. <br /> <br />So, I have given it a first test. I am running Quirky 8.1.6, a x86_64 distro. I configured OpenEmbedded to compile for a target i586 CPU. <br /> <br />I started the build last night. However, about 1am before going to bed, in my sleepiness I accidentally turned off the power to the PC. Grumble, had to clear the caches and start if off again. <br />Now 10am, it is almost finished, just compiling LibreOffice. <br /> <br />LibreOffice, incidentally, takes longer to compile than all of the other packages put together. It ends up, there is just one task running, LibreOffice compiling, and it seems to be using only one CPU core at that stage. <br /> <br />I am planning to support "old" computers again, with this i586 build. However, had to make a decision with the kernel. I configured the kernel for i586 and a RAM size limit of 4GB. That is fine, but also chose to support SMP (multi-core) CPUs. <br /> <br />It is that latter one that I was uncertain about. There are, I think, a lot of PCs with x86 32-bit multi-core CPUs, mostly two cores I think. <br />The SMP-enabled Linux kernel will run on uniprocessor CPUs, however, I do recall that it failed with some uniprocessor CPUs. I don't recall any more details. <br /> <br />So, I guess it is a tradeoff. It is nice to use the two (or more) cores if they are available. If I had chosen to configure the kernel to be uniprocessor only, it will run on multi-core CPUs but only use one core. <br /> <br />If you have any thoughts on my decision, you are welcome to post here: <br /><a href=></a> <br /> <br /><b>LibreOffice</b> <br />Changing the subject, I am getting to like LibreOffice so much, can't consider doing a build without it. Awhile back, I had to fill in a form that was a MS .docx file -- LibreOffice handled that beautifully (whereas Abiword is useless). <br />I constructed some nice diagrams in LibreOffice, for the "How Easy works" page. <br /> <br />Yesterday, I was unable to insert colour-highlighted shell code into my "How easy works" page using SeaMonkey Composer (it insisted on removing all of the formatting). So I used LibreOffice, and discovered that it is a very nice WYSIWYG HTML editor. <br /> <br />LibreOffice compiled in OE is version 5.0.x, a bit old. I found that it embedded png images into the html page, was unable to keep the links to external images. I fixed that later, however, found support for external links is in Libreoffice 5.2.0. <br /> <br />So, the plan is to compile the latest LibreOffice soon. <br /> Easy Linux 0.3 alpha released Linux Easy Linux 0.2 pre-alpha was released on March 17, 2017, see blog announcement: <br /><a href=></a> <br /> <br />Version 0.2 was built from Ubuntu 16.04 DEBs. Version 0.3 is built from packages compiled in OpenEmbedded. There are many posts about this in my blog, for example: <br /><a href=></a> <br /><a href=></a> <br /> <br />Easy Linux is the latest in the Quirky series of experimental Linux distributions. It is a fundamental rethink. I wrote an overview here: <br /><a href=></a> <br /><img src= /> <br /> <br />Easy is deployed as an image file that can be written to a 2GB or greater USB Flash stick or SD-card, and booted up on any PC with x86 64-bit CPU (core-2 or later). The above link outlines how to write the image to a Flash stick or SD-card. <br /> <br />Easy can also be installed to an internal hard drive. So far, I have written one how-to, for a "frugal" installation: <br /><a href=></a> <br /> <br />Note that it is particularly easy to do a frugal installation if you have booted up Easy from a USB stick. Ditto for Quirky Linux. <br /> <br />Download Easy 0.3 from here: <br /><a href=></a> <br /> <br /><b>devx</b> <br />You will also see the 'devx-0.3-pyro64.sfs' file at the above link. If you download this to /mnt/wkg/repository/easy-0.3, then run Filesystem -> Easy Boot Manager from the menu, you will see an "SFS" button, to choose extra SFS files to load. <br /> <br /><b>Containers</b> <br />You can also choose to load the devx SFS file in the "sh0" container, if you want to experiment with compiling inside a container. <br />Containers are managed from the menu Filesystem -> Easy Containers. <br /> <br />See Utility -> Urxvt terminal in container sh0, in menu. You can examine this container at /mnt/wkg/containers/sh0. When the container is running, you can access it from "outside" at /mnt/wkg/containers/sh0/container folder. <br /> <br />Note that containers are highly experimental at this stage. In some respects still a primitive implementation. <br /> Easy frugal installation Linux I have written a web page that explains how to install Easy Linux to internal hard drive, in the famous "frugal" mode: <br /> <br /><a href=></a> <br /> <br />If you are interested in doing this, I recommend waiting for the release of Easy 0.3, due out in a day or two. It has a lot of improvements and bug fixes. <br /> <br />I plan to write another how-to page for installing to internal drive on PCs with UEFI-firmware. <br /> Desktop drive icons displaced Linux There is a problem that comes up sometimes, afflicts most puppies. The desktop drive partition icons are on the screen just above the taskbar. However, at a later bootup, they are displaced, maybe slightly below the taskbar. <br /> <br />I had this happen to me a couple of times recently. The problem occurs when the monitor or TV is powered separately from the PC, so you have to turn it on separately. If you change the turn-on sequence, the problem can occur. <br /> <br />As I understand the situation, if Xorg cannot probe the monitor, due to it being a bit late turned on, Xorg may draw a different resolution to the screen. <br />In my situation, Xorg draws to the screen either at 1280x1024 or 1024x768. <br /> <br />Following through what happens in Puppy and Quirky: <br />At startup of Xorg, from /sbin/xwin, /root/.xinitrc is run. This in turn launches /usr/local/pup_event/pup_event_frontend-d, which in turn runs /usr/local/pup_event/frontend_startup. <br /> <br />It is the latter script that runs the utility 'xwininfo' to determine screen size, and then the drive icons are drawn. <br />At subsequent bootups, for efficiency, the drive icons positions are not recalculated, just redrawn at the same screen coordinates. Which is why the problem occurs. <br /> <br />So, trying an experiment. I have moved the 'xwininfo' code out of 'frontend_startup' to /root/.xinitirc, and it tests if the dimensions have changed since last bootup. If so, wipes the icons -- and they should get redrawn in the correct coordinates. <br /> <br />Note, the wiping of the icons is done by /sbin/clean_desk_icons, which is called from /root/.xinitrc. <br /> <br />This change will be in the next upload of Easy Linux, for testing. <br /> Ah, Wary and Racy Linux Wary and Racy are pups that I built from packages compiled in T2. Not that long ago (2013): <br /><a href=></a> <br /> <br />Wary runs the old Kdrive Xvesa xorg server. Racy uses the Xorg server and the xf86-video-* drivers. <br />Although Racy was released as a separate product, Wary could be transformed into Racy by installing a special video-upgrade PET package. <br /> <br />They were, and are, a beautiful creation. I like the theme too. And as was commented on the forum, 2013 is not really that old. <br /> <br />Forum member scsijon would like to keep the dream alive, by compiling updated packages in T2, and using the same Woof from the Wary/Racy days, to build a new updated Racy. <br /><a href=></a> <br /> <br />He won't be able to update Wary though, as it uses old Xorg packages that are suitable for Kdrive Xvesa. Many later application packages will not compile with those old Xorg libraries. <br /> <br />I guess that I am doing something similar, compiling everything in OE. I have created binary packages with minimal dependencies. I have compiled for x86_64 CPU, but I could do a i686 compile in OE, for older hardware. <br /> Thunderbolt3, do-everything interface General Intel has made licensing of the Thunderbolt3 interface "free", in an attempt to encourage its adoption. <br /><img src= /> <br />As reported here: <br /><a href=></a> <br /> <br />Fascinating! I look forward to seeing this on a mobile phone. <br />PCs too. Apparently, Apple and Microsoft are in on this. Intel plan to integrate Thunderbolt3 into the CPU chip, thus ensuring its adoption on the PC platform. <br /> <br />See also the announcement at <br /><a href=></a> <br /> Ye olde Minimum Profit Linux Minimum Profit (MP) is a very nice CLI (console) text editor. It also has an optional GTK2 interface, however I prefer the CLI version. <br /> <br />For the CLI version, the two nicest features are the popup menu, and syntax highlighting, in a very small executable -- it is about 180KB, with syntax highlighting builtin. <br /> <br />It is far superior to other CLI editors, in terms of ease-of-use. The full VI might have more features, but barely so. <br />VIM with gtk2 interface is definitely far more powerful and easy to use, but also enormous. <br /> <br />For sometime, I have been using version 3.2.13 in Quirky, also in earlier pups. The latest is 5.2.10, however I prefer the 3.x series as it is simpler. 5.x has a scripting language, which I don't need. <br /> <br />I compiled 3.2.13 in OpenEmbedded, however, found that the menu is broken. CTRL-A pops up the menu, but the keyboard refuses to navigate it. <br />So, compiled 5.2.10, menu now works. However, the keyboard is not right -- end and home keys don't do what they should, although the docs state the default behaviour is to move to end or beginning of a line. <br /> <br />The 5.x series has a different runtime configuration setup. 3.x uses /etc/mprc and ~/.mprc, and as I recall, forum member 'Bruse B' fixed the key assignments so they worked right in Puppy. <br /> <br />The author of MP has abandoned the 3.x series, but I hunted far and wide using google, and found a couple of later versions in the 3.x series. <br /> <br />I have compiled 3.3.17 in Pyro64 0.2, and everything works. Menu works great. <br /> <br />Coz these old versions of MP have just about disappeared from the web, I have uploaded them here: <br /><a href=></a> <br /> Mime handler for .tar.xz Linux Binary packages created in OE are in .tar.xz format. Currently, when you click on such a file in ROX-Filer, it opens in Xarchive (an archive manager). <br /> <br />Contrast that with say, a .pet package. Click on that, and 'petget' runs, with an offer to install it. <br /> <br />I have created a new script, /usr/local/bin/pkghandler, that is launched when someone clicks on a file of mime-type application/x-xz (a *.tar.xz file), and analyses whether it is a binary package or source code. <br /> <br />If a binary package, a window pops up asking if want to install or open in Xarchive. If not a binary package, opens immediately in Xarchive. <br /> <br />This is very nice. Now, if you have downloaded a .tar.xz binary package, just by clicking on it, you get to choose whether to install, or view the contents with Xarchive. <br /> SNS buglets fixed Linux SNS is my Simple Network Setup. <br /> <br />Thanks to Philh who posted about showing wifi networks in order of field strength: <br /><a href=></a> <br /> <br />I implemented that. But, I do have a list of old buglets, decided to tackle those. Stuff like: <br /> <br /><b>1.</b> Right-click on tray icon, chose "Disconnect from network", but it doesn't. Not always anyway. <br /><b>2.</b> Click on a button to delete a network connection profile, sometimes not deleting. <br /> <br />I fixed those also. The modified scripts are /usr/local/simple_network_setup/ and sns. <br />The woof-CE guys would probably be interested in these fixes, except that they have probably diverged the scripts from mine somewhat by now. <br /> <br />Anyway, my fixed scripts will be in the next release of Quirky or Easy, if they want to examine them. <br /> <br />I noticed a recent post, someone wanting SNS to do static address setup, not using dhcpcd. Yeah, that has been on my to-list for a very long time. <br /> More xorg drivers for Pyro64 Linux Quirky Pyro64 0.2 was uploaded yesterday. It only has the intel, vesa and modesetting xorg drivers, so apart from some acceleration provided by the kernel gpu drivers, only intel has hardware acceleration for xorg. <br /> <br />I have now compiled: <br /><i>xf86-video-nouveau <br />xf86-video-ati <br />xf86-video-amdgpu</i> <br /> <br />That is going to cover a lot more video cards out there. <br /> <br />When running Xine media player, launched from a terminal (run "xinewrapper"), it complains that cannot be found so disabling vdpau support. <br /> <br />Now, I recall several months ago, in Quirky Xerus64, putting in that library, and vdpau did not work at all. <br /> <br />Anyway, giving it another go. Have compiled: <br /><i>libvdpau-va-gl</i> <br /> <br />This will all be in the next Pyro64 (and Easy) linux. <br /> <br />It will probably be necessary to make up a pet package with firmware for amd gpu's. Though, that can bulk up the build very quickly. LFS has firmware here: <br /><a href=></a> <br /> wget, aaaargh! Linux I was fixing a couple of bugs in the package manager, PPM. <br /> <br />I compiled 'vim' in OE, and added it to the online package repository in Then I used the PPM to download and install it, to test all that is working ...which it isn't. <br /> <br />For a start, the "Update database" button was broken. Fixed that. <br /> <br />Then chose 'vim', but it failed to download. <br /> <br />I discovered the reason. The latest release of wget, 1.19.1, no longer logs to stderr, instead to ~/wget-log* <br /> <br />A quick google, this chap has hit the same problem: <br /><a href=></a> <br /> <br />I have at least two scripts, probably more, that are now broken. For example "wget .... 2>&1 | .... " or "wget .... 2> logfile" no longer work. <br /> <br />In the latter case, you have to use the "-o" to direct output to a particular logfile. I don't know what to do in the first case, where want to pipe it. <br /> <br />wget has been around since the beginning of time, why make such a fundamental change now? I sent a very polite email to the wget-bugs mail list, asking why. <br /> <br />In the OE build, I have rolled back to wget 1.17.1. This is the same version used in Ubuntu 16.04. In OE, it was easy-peasy to rollabck, I just grabbed the recipe from the "krogoth" release. <br /> <br />In OE: <br /><i># bitbake -c clean wget</i> <br />...then put in the new recipe, in my 'meta-quirky' layer, then... <br /><i># bitbake wget</i> <br /> <br />Then, over in woofQ: <br /><i># ./0pre-oe-add</i> <br /> <br />...which detects the changed versions in OE, and deletes the old one, imports the 1.17.1 binary tarball. <br /> <br />Oh yeah, vim. It started out early this morning, I compiled vim in OE and imported it to woofQ. Then got distracted by this wget stuff. Now it is 11am. <br />I want vim as it can convert syntax-highlighted code to HTML output, great for putting code into web pages. <br /> <br />if you want vim for the new Quirky Pyro64, it is here (6MB): <br /><a href=></a> <br /> <br />If you download and click on it in Pyro64, Xarchive will open. The mime handler does not (yet) recognise *.tar.xz as possible being a package to install. <br />Instead, open a terminal where you downloaded it, and run: <br /><i># petget `pwd`/vim-8.0.0427-r0-core2-64.tar.xz</i> <br /> Easy Linux returning Linux I designed Easy Linux early in 2017, a radical rethink of how Linux works, a new paradigm even. <br /><img src= /> <br />Version 0.2 pre-alpha was released on the 17th of March 2017, see blog announcement: <br /><a href=></a> <br /> <br />...there is a link to a web page that outlines the architecture. <br /> <br />There was some great feedback on the Puppy Forum, however, I got diverted, worked on compiling everything in OpenEmbedded. That has reached a milestone, have compiled almost ever package needed by Quirky/Easy, and wrote a script to import the binary packages into woofQ. <br /> <br />Have just built Easy 0.2.1 with the packages from OE, using it now. Works great. <br /> <br />Now I am back on developing Easy. The first thing that I plan to do is simplify the loading of sfs files. This was an area of difficulty reported in the forum. <br />I know what to do to make that super-easy. Will do so and build a new version for release. <br /> OE Pyro with meta-quirky Linux Here is all that is needed to compile most of the packages used in Quirky Linux. It is a tarball with a snapshot of OpenEmbedded "pyro" branch, and my customization "meta-quirky" layer. <br /> <br />Create a folder in a partition with a Linux filesystem, at least 150GB free space, and expand the tarball inside the folder, it will expand as folder "oe-qky-src". <br /> <br />Inside oe-qky-src, you will find a readme file that explains what to do next. <br /> <br />Just a few commands to execute, and off you go! Need a fast Internet connection, as over 515 source packages have to be downloaded. <br /> <br />Download oe-qky-src from here: <br /><a href=></a> <br /> <br />Fast mirror: <br /><a href=></a> <br /> <br /><b>woofQ</b> <br />I also uploaded a tarball of woofQ. Once you have all the binary packages, they can be imported into woofQ (see script 0pre-oe), and Quirky Pyro built. <br /><a href=></a> <br /> <br />Feedback can be posted here: <br /><a href=></a> <br /> Quirky Pyro64 0.2 alpha Linux It's out! This is the first upload of Pyro64, tagged as alpha-quality, but is looking pretty good. <br /> <br />We are familiar with Puppy and derivatives having the "kitchen sink" in their builds, in a very small size. Well, Pyro includes the "kitchen fridge" as well. <br /> <br />Pyro64 is built with packages compiled from source in OpenEmbedded. It will run on PCs with x86_64 (64-bit) CPUs, of at least "core2" vintage. <br /> <br />Release notes, and how-to-install links: <br /><a href=></a> <br /> <br />Download, primary host: <br /><a href=></a> <br /> <br />Download, fast mirror site: <br /><a href=></a> <br /> <br />Note, I will be uploading the OpenEmbedded development system, with my modifications, plus a tarball of woofQ, later today, watch this blog. <br /> <br />Post feedback here: <br /><a href=></a> <br /> SeaMonkey now stable in Pyro64 Linux <b>seamonkey</b> <br />I reported that Firefox and SeaMonkey were unstable in Pyro64: <br /><a href=></a> <br /> <br />I have tested a build with icu 56.1 and SeaMonkey 2.48b1 using the system icu, and it is stable. <br /> <br />SeaMonkey is now also using the system sqlite3, as I added the required config settings in the OE build. <br /> <br />SM is also using system nss and nspr libraries, so it ends up a fairly small package. <br /> <br /><b>python</b> <br />Trying to get the size down wherever possible, I have created python-tiny, which has just enough in it to satisfy kodi. <br /> <br />I think, getting very close to a first release of Pyro64. <br />Contemplating doing builds for i686 and armv7 also. <br /> Puppy Linux May newsletter Linux The Puppy Linux (and Puppy-derivatives) newsletter for May 2017 is out, read online: <br /><a href=></a> <br /> <br />The newsletters can also be downloaded as Notecase files. Notecase, the free open-source version, is in all puppies. <br /><a href=></a> <br /> <br />There is a forum thread for discussion about the newsletter here: <br /><a href=></a> <br /> Chasing bugs in Pyro64 Linux As I posted to the Puppy Forum this morning, Kodi now has text, and is working. Forum thread: <br /><a href=></a> <br /> <br />The problem that I am now working on, is both Firefox and SeaMonkey are very unstable. From past experience, there are various system libraries that are the cause of this, such as icu, cairo, pango, glib/gio. <br /> <br />I experimented with different configure options, eventually configured with almost everything internal, except, I think system libvpx. Beautiful, completely stable. <br /> <br />Then I introduced system hunspell and icu ...crashes again. <br /> <br />Most likely it is icu, so now I am doing a compile with all the other system libs reintroduced, except using internal icu. Hopefully that will be stable. <br /> <br />If it turns out to definitely be icu, I might do a complete rebuild in OE, using the same version of icu as used in seamonkey (56.1) with the same patches (OE has 58.x). <br /> Low cost NAS Linux Isn't this interesting: <br /><a href=></a> <br /><img src= /> <br />I am a retired gentleman, really don't need a thing like this. It would be cool though. <br /> Ransomeware hits Windows Linux I watched the news on TV yesterday, of businesses across the world being hit by "ransomeware". Hospitals in the UK have had to turn away patients. <br /> <br />What they did not say on TV, is just what computer operating systems have been hit. I wondered if it is Windows (again). <br /> <br />Yes, it is: <br /><a href=></a> <br /> <br /><i>The leaked hacking tool exposed a method of spreading malware across computers in a network using a flaw in Windows. Once a computer is infected with the ransomware, if that machine has not been patched, the infection can jump to other machines.</i> <br /> <br />We should not be complacent with Linux though. I intend to keep thinking about tightrning up the security in Quirky. <br /> <br />For now, there is a good argument for taking the precaution of running SeaMonkey and Firefox as the "spot" user. <br /> OE/Yocto Pyro released Linux There was a post on one of the Yocto mail lists, that Pyro, version 2.3, is released: <br /><a href=></a> <br /> <br />I have cloned it, and merged my customization layer, and started the build. This is a big build, with "the works", including Firefox, Gimp, Pidgin, Libreoffice, Kodi. <br /> <br />However, I have not solved the problem of no text in Kodi, so I will build Quirky with Xine. Also, Quirky will have SeaMonkey, rather than Firefox. <br /> <br />The plan is that once I am satisfied everything is reasonably sane, I will upload a tarball "oe-qky-src", which is OE with my customizations, so it is ready-to-go for anyone who is interested. <br /> <br />Also, intend to release a Quirky build. It will still have some issues, so might have to be classed as pre-alpha or alpha. <br /> Forum thread to discuss OE and Pyro Linux I have started a thread on the Puppy forum to discuss OpenEmbedded and compiling for Puppy/Quirky: <br /><a href=></a> <br /> <br />I mentioned in the first post of that thread, that OE could replace Woof*. A clarification: yes theoretically, but it will require in-depth knowledge of OE and be a lot of work. <br />It is quite likely something that will never happen. <br /> <br />The compiling environment of Quirky Pyro64 0.1.1, my second build, is sane, and right now I am compiling SeaMonkey 2.48b1. That is, a native compile in a running Pyro64, not using OE. <br /> First build of Pyro64 Linux Quirky built from packages compiled in OpenEmbedded, is codenamed "Pyro64". I have just done the very first build, version 0.1, and get a desktop -- and some bugs, which is to be expected. <br /> <br />The file is 297MB, and it has big apps, including LibreOffice, Kodi, Gimp, Pidgin and Firefox. <br /> <br />Most of the bugs look fixable, but Kodi displays without any text, and after a brief google, no solution has jumped out at me. <br />It is a common problem, but there does not seem to be any definitive fix. <br /> <br />Fixing Kodi is number one on the to-do list. <br /> <br />What I might do is install the devx pet, and have a go at compiling the latest version. <br /> PCI-E USB3 interface card Linux I mentioned that the motherboard of my recently-acquired second-hand PC only has USB2 sockets. For attaching my external USB3 hard drives, it is preferable to have a USB3 socket on the PC -- a couple of them work with USB2, however my 2TB drive requires a USB3 socket. <br /> <br />Forum member Feodor recommended to me a PCI-E USB3 card available online. <br /> <br />I looked around online, and found one of the cheapest is MSY, which has store outlets in major cities of Australia. It only cost AU$20, so I bought it: <br /><img src= /> <br /> <br /><a href=></a> <br /> <br />Plugged it in, powered-up, it works! <br /> Classic OE recipes Linux I have struck gold! <br /> <br />I want to add more packages to my "core-image-quirky" build in OpenEmbedded. For example, JWM, ROX-Filer, Minimum-Profit and Dia. <br /> <br />Today I discovered a treasure trove of old recipes: <br /><a href=></a> <br /> <br />I downloaded the whole lot: <br /><i># git clone git:// oe-classic --depth 1</i> <br /> <br />There is a recipe in there named "mped", which is the Minimum Profit text editor (executable name is "mp"). <br />Yes, it is old and broken. A great starting point, and I fixed it. <br /> <br />In OE, I have a new layer, named "meta-quirky", and new recipes such as "mped" go in here, as well as fixes for existing recipes and other configuration. <br /> Big build in OE underway Linux The last couple of days, I have been fixing the build of some packages in OpenEmbedded. In particular, I have had to modify the build "recipes" to fit my requirements for dependencies. <br /> <br />Packages that are <b>not</b> in my build include these: <br /><i>avahi, gtk+3, libpam, pulseaudio, systemd</i> <br /> <br />My core-image-quirky recipe now builds a large collection of packages, including very big ones such as libreoffice, kodi and firefox. <br /> <br />I have just started the build from scratch, the cache deleted so that it is truly a build from scratch, and we shall see how long it takes... <br /> <br />Next, I plan to import the packages into woofQ and build a Quirky. I will put the big apps in, including libreoffice, kodi and firefox, as I am very interested to find out how big the resultant distro will be. <br /> <br />Not every binary package that you find in a typical Quirky or Puppy, is compiled in OE, but that is no problem, will use packages from elsewhere, such as April. Eventually, hope to compile everything in OE. <br /> Quirky installed on old PC Linux The old PC (without monitor) that I bought a few days ago, had Windows 10 installed. I reported on the purchase here: <br /><a href=></a> <br /> <br />I want this PC to be my workhorse for big compiling jobs, such as with OpenEmbedded. Windows is not wanted, so I wiped all the partitions, using Gparted. <br /> <br />Then I created partitions: <br /><i>sda1 fat32 511MB <br />sda2 ext4 approx 860GB <br />sda3 ext4 approx 32GB <br />sda5 swap partition 16GB (logical partition)</i> <br /> <br />The "BIOS" on the motherboard is actually UEFI-firmware, so it looks for what are called ESP fat partitions at bootup. <br />There is no need for any boot manager, other than that provided by the UEFI-firmware. There is nothing to configure in the UEFI-setup, the factory default is that it will look for ESP partitions, first on the internal hard drive. <br /> <br />I wrote how to do this kind of easy-peasy installation last year: <br /><a href=></a> <br /> <br />In Gparted, right-click on sda1 and set the "boot" and "esp" flags. <br />Copy the "EFI" folder and file "vmlinuz" from partition-1 of the USB stick (that I booted Quirky off) to sda1. <br /> <br />Open /mnt/sda1/EFI/BOOT/syslinux.cfg in an editor and change to "root=/dev/sda3" --- I am next going to install Quirky to sda3 <br /> <br />In the menu, Setup -> Quirky Universal Installer, choose to install to a partition, and choose sda3 <br /> <br />That's it. Shutdown, remove the USB-stick, power-up and you are running the installed Quirky. <br /> Bought old PC Linux As reported yesterday, needed a PC for doing OpenEmbedded compiles. My laptop, running one core, took about 24 hours to compile everything. <br /> <br />So I looked in our free online marketplace, <a href=></a>, and found one that looks good, asking AU$295 negotiable. <br /> <br />I bought it for AU$270, typing on it right now. <br /> <br />It has an Intel i5 2400 3.10GHz CPU, 16GB DDR3 (1333MHz) RAM, 1TB hard drive, DVD drive, a multi-card reader, and a Radeon HD6870 video card. <br /> <br />The owner told me it is 3 years old, but it is older than that. The BIOS is dated 10/13/2011. It is AMI BIOS version 7.15. <br /> <br />So, more like 5 years old. No complaints though. That CPU is fairly fast, and with the 16GB RAM, OpenEmbedded builds are going to be very fast. <br /> <br />It is a middy-tower case. Never thought that I would be buying one of those again! <br /> <br />The first thing I did was remove the video card, now using the on-board Intel graphics. Good enough for my needs. <br />The motherboard has a HDMI socket, great, using my second TV as the monitor. <br /> <br />Ah, the motherboard is showing it's age, no USB3 sockets. <br /> <br />Next job is to wipe Windows 10 off the hard drive. Currently running Quirky 8.1.6, booted off a USB stick. <br /> New Quirky layer in OpenEmbedded Linux Having lots of fun. Recently posted about getting started with Yocto/OpenEmbedded: <br /><a href=></a> <br /> <br />The Yocto books from Amazon arrived a few days ago, and I have had my nose down. Complicated, but making progress. <br /> <br />I decided to use OpenEmbedded from git as the basis for building packages for Quirky, not Yocto. <br /> <br />I have created a new layer, named 'meta-quirky', and so far it builds a basic X11 system with development tools. <br /> <br />Kernel also. I have just now looked at how to substitute my own '.config' file, will give that a go. <br /> <br />I will add more packages later. But very carefully, as want to build a very lean-and-mean distro. <br /> <br />Currently, just compiling packages, which are then imported into woofQ. However, in theory, OE could do the whole thing, build an image file ready to be written to a flash stick. <br />Down the track, might aim to achieve this, if I can master OE sufficiently. <br /> <br />Then, I could provide a single tarball, that someone can download, then run just a couple of commands and it builds the entire Quirky (or Puppy) image file. All it would need is a compatible host system, such as Quirky 8.1.6 or one of the ubuntu-pups or debian-pups (with some small fixes and extra pkgs installed). <br /> <br />The biggest problem right now is how long a build takes. Even a minimal build takes 12 hours, a big one (LibreOffice etc.) more like 24 hours. <br />That's because it is running one core only on my laptop. <br />Maybe I should invest in a fast PC/laptop, maybe i5 or i7 CPU, 8GB RAM, 256GB SSD ....don't want to spend the money right now though... <br /> 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, wi