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:
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).
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:
- An Acorn RiscPC running RISC OS 3.50 or later (should work with 3.10 but this has not been tested)
- An emulator (RedSquirrel, VirtualAcorn, RPCEmu, possibly Archie) running a compatible version of RISC OS.
- A Castle Iyonix running RISC OS 5.xx.
- One of the later-generation hacker boards running RISC OS 5.xx (Beagleboard, Beagleboard xM, potentially other OMAP-based hardware, RaspberryPi, etc)
- Pandora handheld computer running RISC OS 5.xx.
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