I've done a search for this, both on the forums and on the wider internet, but haven't been able to find anything relating to what I would like to learn, or any firm advice on it.

My question is this: How does one update an existing Raspberry Pi RISC OS installation to use the newest RISC OS RPi ROM (I know that they're different to the others available for download from the RISC OS Open website, especially since they're clearly labelled as such ), without reflashing the whole thing and setting it up again from scratch? Is it a matter of connecting the card to another computer and swapping out the relevant files in the FAT32 boot partition, or is there some better method of doing this (such as running some sort of command or application within RISC OS itself)?

I'm very familiar with dealing with updating Linux distributions, but having not used RISC OS anywhere near as much, I'm still a little puzzled by this aspect of it.

LemmeFatale wrote:Is it a matter of connecting the card to another computer and swapping out the relevant files in the FAT32 boot partition

Actually, just downloading the new ROM within RISC OS, copying it into the DOSDisc image file called $.!Boot.Loader (which is the FAT32 partition) and changing the name to RISCOS/IMG (after renaming or deleting the old one) should work under normal circumstances. Provided you power cycle the Pi after that, to perform a 'hard reset' so the OS can't write anything like old pseudo CMOS settings into the new ROM.
I know that must sound a bit scary to someone familiar with Linux distros and I certainly wouldn't want to do something like that to my Linux box, but I can't remember how many times I have had to perform a hard reset on my old RISC OS machine over the years...

However, the 'normal circumstances' I mentioned only apply when the new ROM is in the same range as the old one, i.e. both are 5.1x or 5.2x. I assume you want to move from 5.19 to 5.21 and unfortunately that's a little more complicated. A 5.1x ROM expects a $.!Boot.RO510Hook structure and a 5.2x ROM needs the corresponding $.!Boot.RO520Hook one as well. This is available in the HardDisc4 image on the RISC OS Open site.

The RISC OS Open forum has several threads about handling this upgrade, but I don't think any of them mention the peculiarities of doing it on a Pi. This is relevant as the Pi image has a number of extra files which aren't present in the normal HardDisc4 image.
Even without that complication, it's far from a user friendly process. Unless you're a bit of a masochistic nutcase like me, you'd probably be better off reflashing the card with a new image and copying things you introduced yourself using a USB stick/drive over a powered hub or flashing another card and copying things between them (in theory 'hot swapping' cards under RISC OS is possible, but my Pi's USB stack sometimes crashes when I do that).

If you are interested in doing things the hard way, I could describe what I did to upgrade my 5.19 installation to 5.21 without reflashing the card. Mind you, I currently have an ADFS formatted USB drive connected which contains most of my setup and only use the SD card to provide the ROM image. So I have to translate this to a 'pure SD environment' which may complicate things further.

Simple download new rom from ROOL site
Unpack with Zip into suitable place.
Open !boot/Loader folder by double clicking holding the shift key at the same time.
copy the new riscos rom that you unpacked into loader folder not forgetting to rename or save the old one just in case.
restart
will boot with new rom. simple

grizzler wrote:I know that must sound a bit scary to someone familiar with Linux distros and I certainly wouldn't want to do something like that to my Linux box, but I can't remember how many times I have had to perform a hard reset on my old RISC OS machine over the years...

Hahaha, yeah, it does sound a bit out of my comfort zone, but I want to make a concerted effort to learn how to use a new-to-me OS (well, I used it briefly back in school twenty years ago, but I hardly think that counts ), so I want to get to grips with this sort of thing.

However, the 'normal circumstances' I mentioned only apply when the new ROM is in the same range as the old one, i.e. both are 5.1x or 5.2x. I assume you want to move from 5.19 to 5.21 and unfortunately that's a little more complicated. A 5.1x ROM expects a $.!Boot.RO510Hook structure and a 5.2x ROM needs the corresponding $.!Boot.RO520Hook one as well. This is available in the HardDisc4 image on the RISC OS Open site.

Yeah, that's the move I want to be doing! Typical, eh?

My understanding of RISC OS is, at this point, that of a complete beginner, so I'm afraid I didn't understand a lot of what you said in the above quote (well, I get the bit about ROMs in the same range, but that's about it!)...

The RISC OS Open forum has several threads about handling this upgrade, but I don't think any of them mention the peculiarities of doing it on a Pi. This is relevant as the Pi image has a number of extra files which aren't present in the normal HardDisc4 image.

As far as I've been able to find, none of them do mention this. I know about the differences, vaguely, but that's where I've gotten stuck.

I saw a post on the RISC OS Open forum that suggested that the upgrade on the RPi version can be done via !PackMan, but I'm now unsure if this applies here...

Even without that complication, it's far from a user friendly process. Unless you're a bit of a masochistic nutcase like me, you'd probably be better off reflashing the card with a new image and copying things you introduced yourself using a USB stick/drive over a powered hub or flashing another card and copying things between them (in theory 'hot swapping' cards under RISC OS is possible, but my Pi's USB stack sometimes crashes when I do that).

I'm not a masochistic nutcase by any means, but I've found that I learn new OSes best when trying to do things that are considered a bit tricky by many. Even if I'm not successful, I tend to learn well that way.

If you are interested in doing things the hard way, I could describe what I did to upgrade my 5.19 installation to 5.21 without reflashing the card. Mind you, I currently have an ADFS formatted USB drive connected which contains most of my setup and only use the SD card to provide the ROM image. So I have to translate this to a 'pure SD environment' which may complicate things further.

I would be very interested indeed, please, but I don't really want or like to impose!

LemmeFatale wrote:I saw a post on the RISC OS Open forum that suggested that the upgrade on the RPi version can be done via !PackMan, but I'm now unsure if this applies here...

!PackMan. Yeah. Right. Well...

Historically, RISC OS has never had package management. Installing software on RISC OS has always been a matter of dragging an application directory from a zip to a suitable location on the drive. I'm not against package management for RISC OS as such, but I'm definitely not a fan of how it has been implemented so far. The last time I tried to use Packman it did things that were completely incompatible with my setup, so I just kicked it off my system and never looked back.
I suppose it could have been improved enough to handle upgrading. I may have to check it out before I drag you into the weird and wonderful world of manually upgrading a RISC OS !Boot structure...

If you are interested in doing things the hard way, I could describe what I did to upgrade my 5.19 installation to 5.21 without reflashing the card. Mind you, I currently have an ADFS formatted USB drive connected which contains most of my setup and only use the SD card to provide the ROM image. So I have to translate this to a 'pure SD environment' which may complicate things further.

I would be very interested indeed, please, but I don't really want or like to impose!

No problem. I will need to sort out my notes first though, and as I'll be out of town for a couple of days, I may not have the time to get things ready to be posted here until the weekend.

grizzler wrote:Historically, RISC OS has never had package management. Installing software on RISC OS has always been a matter of dragging an application directory from a zip to a suitable location on the drive.

This is one thing I've quickly learned. I figured that the whole package management thing was retrofitted!

I'm not against package management for RISC OS as such, but I'm definitely not a fan of how it has been implemented so far. The last time I tried to use Packman it did things that were completely incompatible with my setup, so I just kicked it off my system and never looked back.

Ouch! What sort of things did it do, if you don't mind me asking?

I suppose it could have been improved enough to handle upgrading. I may have to check it out before I drag you into the weird and wonderful world of manually upgrading a RISC OS !Boot structure...

Haha, ok.

No problem. I will need to sort out my notes first though, and as I'll be out of town for a couple of days, I may not have the time to get things ready to be posted here until the weekend.

Absolutely fine, as I've got other things to be getting on with in the meantime. Thankyou very very much, by the way - I really appreciate you taking the time to do this.

Had a couple of minutes before leaving, so started to put a few things in writing and then realised that the amount of detail I'll have to use heavily depends on your familiarity with RISC OS terminology. Can you give me an idea about that? I.e. does "Shift double clicking" (to display rather than run application directories) mean anything to you? Do you know your way around the Configuration window? Etcetera...

grizzler wrote:I'm not against package management for RISC OS as such, but I'm definitely not a fan of how it has been implemented so far. The last time I tried to use Packman it did things that were completely incompatible with my setup, so I just kicked it off my system and never looked back.

Ouch! What sort of things did it do, if you don't mind me asking?

Nothing really nasty, I guess, it just put things in places I didn't want them to be and made a fuss when I moved them around. That's totally alien to RISC OS.

I suppose it could have been improved enough to handle upgrading. I may have to check it out before I drag you into the weird and wonderful world of manually upgrading a RISC OS !Boot structure...

Haha, ok.

No such luck, I'm afraid. I didn't actually 'reinstall' PackMan here, but I checked the package lists to see if it had anything that looked like system updates for a Pi. The only thing I could find was five months old and had '5.19' in its name...

A bit weird, really. You'd think they would use available tools to enable people to perform a smooth upgrade rather than forcing them to do a complete reinstall. Maybe it's because everything is still on 'release candidates'. Still, it doesn't look very user friendly to me.

My recommendation to move from RISC OS 5.19 to RISC OS 5.21 on the Pi is to download a complete new SD card image (RC11). If you look at the old (RC8) card and identify the applications you added you can copy them to the new card. Keep the old card and you can check if something doesn't work correctly on the new card that it did work on the old card. Then ask and someone will help.

Manually changing the old RC8 boot structure to cope with 5.2x is NOT easy.

svrsig wrote:My recommendation to move from RISC OS 5.19 to RISC OS 5.21 on the Pi is to download a complete new SD card image (RC11). If you look at the old (RC8) card and identify the applications you added you can copy them to the new card.

Yes Chris, as you can see from my first posting in this thread, that was my original suggestion as well. But the OP wants to do it the hard way...

Manually changing the old RC8 boot structure to cope with 5.2x is NOT easy.

Well, if I can manage it...

Looking back I'd say it wasn't even that hard. Once you've copied the !Boot from a current HardDisc4 image over the one on the card, there are only a few items missing. Most of those aren't essential to get things working. It's not like upgrading an Iyonix with 5.18, where things can get really messy when you do that.
The Apps and the rest are of course a different matter. I don't think you could get them upgraded properly without putting at least partial applications in a zip for download. I'm not going to burn my fingers on that, so I'll just provide links to sites where up to date versions can be found.

Last edited by grizzler on Sun Aug 11, 2013 11:29 am, edited 1 time in total.

Oh man, thanks so much! It seems to be very clear, even to a relative RISC OS newbie (and I must say, I never would have guessed that English isn't your native language - and especially not from reading those directions ).

Now if only my micro-USB power cable on my Lapdock setup hadn't chosen now to break on me. The replacement should be here within the week, though, and then I'm good to go.

I finally had the time to sit down with this and follow the instructions. All went well, until the part where I had to power-cycle without shutting down cleanly, unfortunately, at which point I ended up with a corrupted card.

I know that this is *nothing* to do with RISC OS being unable to handle it, though; The card that was supplied to me with this Lapdock setup is a high-speed one, and I know from past experience with trying to use such cards with other ARM-based computers that that's the culprit (I always stick to Class 4 for this sort of usage, myself, and never have issues). It seems that the fates wanted me to re-image this thing after all!

That said, I learned plenty along the way, and feel that I have a better understanding of dealing with RISC OS, how it handles directories and zip-files, where things go in the Raspberry Pi version, and so on, which, really, was my main goal - it no longer feels completely alien to me, as it did before. So, I'd like to say thanks very, very much for that - you've helped to further the foundation's goals in educating people of all ages, here!

LemmeFatale wrote:I finally had the time to sit down with this and follow the instructions. All went well, until the part where I had to power-cycle without shutting down cleanly, unfortunately, at which point I ended up with a corrupted card.

Ouch.

It seems that the fates wanted me to re-image this thing after all!

That said, I learned plenty along the way, and feel that I have a better understanding of dealing with RISC OS, how it handles directories and zip-files, where things go in the Raspberry Pi version, and so on, which, really, was my main goal - it no longer feels completely alien to me, as it did before. So, I'd like to say thanks very, very much for that - you've helped to further the foundation's goals in educating people of all ages, here!