Harinezumi v0.09

[impatient? the downloads are here...]

 

The problem...

The RISC OS start-up sequence is not overly complicated compared to some systems, however if you don't know your way around it, it will look like a maze of twisty passages, all alike.
RISC OS also suffers from the problem that errors are passed back up to the operating system as nothing else catches them (it is a set of Obey files, akin to .BAT files in DOS parlance). While this might seem useful for error reporting, it isn't so useful when the boot aborts and you are thrown into the Desktop without knowing what has and hasn't been done.

We can't be too hard on RISC OS, the clever boot is around 20-odd years old and aside from minor tinkering, nobody has done much with it since.

 

How Harinezumi helps...

Enter Harinezumi - that's the Japanese word for hedgehog, it is written in katakana like this: ハリネズミ
Harinezumi is a boot script processor. Essentially you run Harinezumi instead of your normal boot file (that's $.!Boot.Utils.BootRun). Harinezumi will then use your boot file (the BootRun) as a script of what to do. It will vet stuff where necessary, and mimic all of the things the BootRun would do.

The difference, however, is that not only will it log a success/fail status, it will also carry on after a failure. In this way, you will be able to get a mostly-booted system and potentially useful diagnostic information if things don't go quite as expected.

 

How it works in practice

Harinezumi offers two modes of operation. There is "quiet mode" which displays minimal information, and puts a little slidey-bar thing on the screen. It looks like this:
Harinezumi in quiet mode

The default mode is for full reporting. It instantly turns your nice RISC OS computer into a clone of any number of Unixen that spews crap over the display on startup. Well, at least this stuff is colour coded for your convenience (basically: red = bad, magenta = really bad).

Harinezumi in shouty mode

But don't worry about trying to read that stuff. It is all neatly logged into the file $.!Boot.BootLog - read the above example.

 

The BootLog

Lines beginning "Okay" are okay.
Lines beginning "FAIL" are not okay. They should be followed by a line "--->" which will describe the error encountered.

An example (part of the BootLog file):

Note: Running PreDesk file...
Okay: BootObey Choices:Boot.PreDesktop
Note: Now handling BootLoad for "<Boot$ToBeLoaded>", scanning for files...
FAIL: Load <Boot$ToBeLoaded>.!!DeepKeys
--->: [ Module 'DeepKeys' is not 32-bit compatible ]
Okay: Load <Boot$ToBeLoaded>.!+Resource

 

What this software works upon

In case the screenshots weren't a give-away, this software is for use with RISC OS. It won't work with Apple iThingies, Windows, Ubuntu, Android phones, your granny's microwave, etc etc.

It will work with:

Note that there is no specific support for any version of RISC OS created by RISC OS Ltd (that is: RISC OS 4, RISC OS Select, RISC OS Adjust, and RISC OS 6).

This is not a political decision, the reason is because I believe that these versions or RISC OS have a modified boot sequence for coping with such things as multiple user profiles and the like. I do not have any such version of RISC OS to test upon.
Feel free to try Harinezumi on ROL versions of RISC OS, but note that if you do, you're on your own... I can't help. Sorry.

 

IMPORTANT CAVEAT

This software is currently alpha status. This is not alpha as in "alpha-male", but rather as in "it might blow up, toast your kitten, erase reality, set time out of joint...". As you can see it is nothing too dramatic, so if you are willing to shoulder the responsibility of potentially wiping out humanity (and being an eternity-long running joke for a planet of beings far more advanced than us), then you may use this software. (^_^)

 

Downloads

You might want to refer to the Versions file to see what has changed between versions.

CURRENT RELEASE:

OLDER RELEASES (mostly historical interest):

 

The licence Ts & Cs

This software is copyright © 2017 Richard Murray.

This software is licenced CDDL (version 1.0 only). If you would like a copy of the source code (requires RISC OS and a DDE recent enough to support inline assembly), ask me nicely or go trawl the ROOL forums where I posted a link to the copy held on my personal server (my Pi).

 

Last modified: 2017/07/10.22:00