site  contact  history  index

Buildroot and OpenEmbedded revisited

September 15, 2020 — BarryK

I responded to a thread on the Puppy Forum:

https://forum.puppylinux.com/viewtopic.php?f=127&t=727&start=10

In response to a post from James, linking to this blog post:

http://lightofdawn.org/blog/?viewDetailed=00192

Yeah, don't know if I want to go down that rabbit hole again, but the lure is there...

Got me reminiscing, and last night downloaded the latest Buildroot, and after much messing around, in the early hours of the morning got it compiling and built with a custom kernel. No joy with EasyOS Buster 2.4.1, used EasyOS Pyro. I do recall the previous time I tried it, it worked right off when the host was Slackware 14.2.

Anyway, Buildroot is interesting, but don't know where to go from there.

This morning downloaded the latest OpenEmbedded/Yocto, named "dunfell", version 3.0.2. Pretty straightforward to get it going on EasyOS Buster 2.4.1.

Just tossing ideas around in the head. Maybe could use OE to build a base CLI-only bootable system, then bolt on James' Slackware-based source package build system, to compile the rest.

Don't know, just playing.

EDIT 2020-09-16:
Ha ha, I got lured down the rabbit hole! Doing a compile right now, OpenEmbedded/Yocto 'dunfell' release.

The EasyOS Pyro-series is built from packages compiled in my fork of OpenEmbedded 'pyro' release, which was about 3 years ago. Here is my fork of OE:

https://github.com/bkauler/oe-qky-src

I don't really know why I'm doing this. Just like the aesthetics of compiling everything from source and tailored to my requirements. I did a quick compile last night, of the dunfell OE, compiled Epiphany web browser and all its deps, just to see if it works. Yep, compiled. That's one of the nice things about OE, it is pretty solid, everything compiles. I even installed the result into a USB stick and booted it. Got to a commandline, but couldn't run Epiphany as haven't included an X server in the build.

There was a huge amount of customizing that I did of the pyro OE, all in 'meta-quirky' folder at my repo oe-qky-src. I will look at porting that to the new dunfell OE. Maybe.

Maybe bring back Quirky Linux, built from dunfell OE packages?   

Tags: easy

Schefflera Amate for shaded spot in garden

September 10, 2020 — BarryK

I posted recently about searching for a screening plant suitable for a spot in the garden that does not get direct sunlight for most of the year:

https://bkhome.org/news/202009/screening-plant-for-fully-shaded-mediterranean-climate.html

I received some suggestions from David (Sage in the forums) and from dogle. Dogle suggested the Irish Strawberry Tree, which was a case of synchronicity, as I had just purchased one the day before. However, it does seem that it wants more sunlight, so I planted it in a different location in the garden.

I just stumbled across the Irish Strawberry Tree the day before yesterday, while browsing through the plants section in Bunnings, and recalled having read about it many years ago. It is fast growing, hardy, can be pruned to a hedge, or grow into a small tree, and has edible fruit.

The fruit is stated to be insipid by some online writers, however, as dogle pointed out, it is necessary to wait until it is fully ripe and then it has a nice taste. Information:

https://www.gardensonline.com.au/gardenshed/PlantFinder/Show_1519.aspx

Anyway, onto that fully-shaded spot. Today I found Schefflera Amate in Bunnings, in the "Shade Plants" section, a small pot for AU$9.99. Info:

https://www.gardensonline.com.au/gardenshed/PlantFinder/Show_2508.aspx

img1

Will put it in tomorrow. What I need to do is take photos of this in a year, then two years! Very interested to see how it turns out as a screening plant in that spot. 

Tags: general

Correct pressure for dripper irrigation

September 09, 2020 — BarryK

I thought that I will post about this, in case someone is googling for information about installing a small dripper irrigation system in their garden. They might find my experience useful.

It is just a small area, with ten Veri-Flow drippers and 13mm pipe. There is an automatic timer and pressure-reducer and filter:

img1

Except that when first connected up, there was no pressure-reducer. Result: those drippers sent jets of water up into the air higher than me!

This surprised me, as I have put in dripper irrigation before, and haven't used a pressure-reducer. However, they were in rural locations, where the water pressure from the tap was quite low. At my current premises, it is very high.

The Water Corporation in Western Australia states that they supply pressure anywhere between 15mH (147kPa) and 100mH (980kPa). But I can't find a figure for where I live.

The automatic timer is specified to work between 100kPa and 800kPa. This is it:

https://www.bunnings.com.au/holman-electronic-2-dial-tap-timer_p3120816

So I bought a combined pressure-reducer and filter, which is what you see in the above photo. Here it is:

https://www.bunnings.com.au/holman-13mm-pressure-reducer-and-filter-assembly_p3120097

Put it in, started the timer, ah, now the drippers have jets of water "only" about 2-3 feet high! Very interesting. The Pope Veri-Flow drippers are rated to be adjustable between 0-60 litres/hour -- well, that "0" is wrong, they can't be screwed down enough to cut off the jet of water.

So I examined the specifications of the pressure-reducer. It has 180kPa output. Very interesting, it means that the water from the tap must be well above that, maybe in the order of twice.

Bunnings have a pressure-reducer rated at 100kPa output, that is a direct screw replacement for the one I already have. So, off to Bunnings again:

https://www.bunnings.com.au/pope-100kpa-pressure-poly-reducer_p3431632

img2

That did the trick! So, the lesson learned here is that for a very small dripper irrigation system, what we want is 100kPa. Perhaps with a bigger system, with many more drippers or sprinklers, the flow through the pipes would naturally reduce the pressure to something acceptable, or perhaps a higher-rated pressure-reducer would be OK.

Or, if I was using sprinklers, and actually wanted large sprays of water, then a pressure-reducer could have been dispensed with.

It was a fascinating little exercise. 

Tags: general

Fran├žais langpack updated for Easy 2.4.1

September 08, 2020 — BarryK

I posted recently about the German langpack being updated:

https://bkhome.org/news/202009/deutsche-langpack-updated-for-easy-241.html

Now esmourguit (forum name) has posted updates for the French langpack:

https://easyos.org/forum/showthread.php?tid=141

I have updated the PET, it is now 'langpack_fr-20200908.pet'. 

Tags: easy

Detach child process from parent

September 08, 2020 — BarryK

EasyOS uses the traditional Puppy Linux method of launching the tray applets, such as the volume control, NetworkManager applet and CPU-temperature applet. These applets are found in /root/Startup and are executed by /usr/sbin/delayedrun, which in turn is launched from /root/.xinitrc when Xorg starts.

I think that this method is still supported in Puppy, but deprecated in favour of the applets being in /etc/xdg/autostart and /root/.config/autostart.

/usr/sbin/delayedrun has this code near the end of the script:

if [ -d /root/Startup ];then
for a in /root/Startup/*
do
[ -x "$a" ] && $a &
sleep 0.2
done
fi

This is OK, except over the years it has bothered me that 'ps' shows 'delayedrun' as still running, after it has finished. Executing 'pstree' shows the situation, here is part of the output:

     |-delayedrun---blueman-applet-+-{dconf worker}
| |-{gdbus}
| |-{gmain}
| `-{python3:disk$0}
|-delayedrun---yad
|-delayedrun---freememapplet_t
|-delayedrun---nm-applet-+-{dconf worker}
| |-{gdbus}
| `-{gmain}
|-delayedrun---pmcputemp
|-delayedrun---pnmixer

Those applets are children of 'delayedrun', so 'delayedrun' is still shown as "running". There is nothing wrong with that, but aesthetically it would seem nice if 'delayedrun' could be completely dismissed.

After an Internet search, I implemented this in delayedrun:

if [ -d /root/Startup ];then
for a in /root/Startup/*
do
if [ -x "$a" ];then
disown -h $! #note, -h will disable forwarding SIGHUP.
fi
sleep 0.2
done
fi

Now, 'pstree' shows that 'delayedrun' has gone, each applet is a child of 'init', for example:

     |-blueman-applet-+-{dconf worker}
| |-{gdbus}
| |-{gmain}
| `-{python3:disk$0}

The applets still work, terminate and startup as expected. The "-h" doesn't seem to do anything, works just as well without it.

The problem is that 'disown' is a bash builtin, not available in busybox ash, nor even with /bin/sh if it is symlinked to bash. However, I found that this works the same:

if [ -d /root/Startup ];then
for a in /root/Startup/*
do
if [ -x "$a" ];then
setsid --fork $a
fi
sleep 0.2
done
fi

I wrote about 'setsid' recently, used in the 'initrd':

https://bkhome.org/news/202008/fix-for-devtty-in-initrd.html

'setsid' is a busybox utility, also in 'util-linux' package.

I will implement the 'setsid' method in 'delayedrun'. Not that it really needs to be done, just, as I stated, aesthetically pleasing. 

Here are some relevant discussions:

https://unix.stackexchange.com/questions/269805/how-can-i-detach-a-process-from-a-bash-script

https://superuser.com/questions/178587/how-do-i-detach-a-process-from-terminal-entirely

...though, I don't want to detach from the controlling terminal, just from the parent script. If anyone knows of a potential downside to doing this, let me know!

EDIT 2020-09-09:
James (jamesbond in the forums) sent me an email, quoting:

The solution is quite simple, no setsid or bash hackery needed.

Instead of the original code

if [ -d /root/Startup ];then
 for a in /root/Startup/*
 do
  [ -x "$a" ] && $a &
  sleep 0.2
 done
fi

Do it like this:

if [ -d /root/Startup ];then
 for a in /root/Startup/*
 do
  if [ -x "$a" ]; then
     $a &
     sleep 0.2
  fi
 done
fi

Changing the short form to proper if/then block is what fixes it.

Gosh, that works! My understanding has always been that there is no underlying difference between the two forms. Which seems to be the general understanding, for example this discussion:

https://unix.stackexchange.com/questions/472137/whats-the-difference-between-using-if-condition-then-and-just-condition

I'm astonished. Thanks James!   



 

Tags: easy

Deutsche langpack updated for Easy 2.4.1

September 07, 2020 — BarryK

Lutz (L16L on the forum) has posted some updated German translations for EasyOS 2.4.1:

https://easyos.org/forum/showthread.php?tid=130

They are files 'easy-containers.mo', 'easy-rollback.mo' and 'easy-update.mo' in /usr/share/locale/de/LC_MESSAGES, file 'menu_strings.de' in /usr/share/sss/menu_strings and file 'script_strings.de' in /usr/share/sss/script_strings.

The PET is now 'langpack_de-20200906.pet'. Thanks for that! 

Tags: easy

Screening plant for fully-shaded Mediterranean climate

September 06, 2020 — BarryK

I have been having fun putting in some plants in the garden. Standing at my front door and look to the side, I can see my neighbour's front porch. What I would like is a screening plant, fairly dense, about 1.8 metres (6ft) or thereabouts high. Problem is, that spot in the garden is on the south side of the house, in the Southern hemisphere, fully in shade for most of the year. In mid-summer, it will get some sun, for part of the day.

I live on the outskirts of Perth, Western Australia, about 3km from the coast, and the climate is mild, usually described as Mediterranean, or similar to California, for example:

http://www.lookatwa.com.au/AboutPerth/climate.html

Today I put in drip irrigation, so can take care of keeping some moisture in the soil over the upcoming summer. Interesting, the climate in the South West of Australia has been changing, with more rain in the summer:

https://phys.org/news/2016-03-southwest-australia-mediterranean-climate.html

...it is alarming that this has occurred over a small time-frame, just 16 years.

Anyway, I need to find a suitable screening plant, that will tolerate having only indirect sunlight for most of the year. I want to be able to prune it so as not to grow as high as the eaves of the house, and to keep it dense. So far, I have settled on two possibilities, Sweet Box (Sarcococca Confusa) and Dwarf Umbrella (Schefflera Arboricola).

Sweet Box

https://www.gardensonline.com.au/gardenshed/plantfinder/show_1925.aspx

img1

Dwarf Umbrella

There are two completely different plants going by the common name of Umbrella Tree. The one that interests me is Schefflera Arboricola, native of Taiwan, which doesn't grow as tall.

https://www.gardensonline.com.au/gardenshed/PlantFinder/Show_1932.aspx

img2

...hmm, that specimen is above the roof-line. I would have to prune it to keep it at 6ft, and I wonder if that will turn out to be a struggle, to keep it under control.

Haven't decided yet. Whatever is chosen, it will have to be available locally.

EDIT 2020-09-13:
I chose Schefflera Amate, see post:

https://bkhome.org/news/202009/schefflera-amate-for-shaded-spot-in-garden.html   

Tags: general

Pristine first-boot erase more exceptions

September 05, 2020 — BarryK

The menu "Filesystem -> Audit -> Easy Version Control" runs an app that has a button to erase the current session. The same can also be achieved via menu "Shutdown -> Reboot, with rollback".

With Easy 2.4.1, there were exceptions introduced, so that it need not be a complete wipe of the the session.

I have now added CUPS setup, so the window has a new checkbox:

img1

Today I looked at the EasyOS Forum, and replied to some posts, after a couple of days elsewhere engaged -- working in the garden. Spring is here, in the Southern Hemisphere. 

Tags: easy